[[1] * 4] * 3
или даже:
[[1, 1, 1, 1]] * 3
Создает список, который ссылается на внутренний [1,1,1,1]
3 раза - не три копии внутреннего списка, поэтому в любое время, когда вы изменяете список (в любом позиция), вы увидите изменение три раза.
Это то же самое, что и в этом примере:
>>> inner = [1,1,1,1]
>>> outer = [inner]*3
>>> outer
[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
>>> inner[0] = 5
>>> outer
[[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]]
, где это, вероятно, немного менее удивительно.
Вы можете сделать это, разделив либо один символ, либо последовательность символов в пределах <
и >
, используя опцию PREG_SPLIT_DELIM_CAPTURE
для захвата каждого значения:
Вывод:
Array (
[0] => M
[1] => y
[2] =>
[3] => <b>
[4] => t
[5] => a
[6] => b
[7] => l
[8] => e
[9] => </b>
[10] =>
[11] => i
[12] => n
[13] =>
[14] => b
[15] => r
[16] => o
[17] => w
[18] => n
[19] =>
[20] => <br>
[21] =>
[22] => H
[23] => e
[24] => l
[25] => p
)