Возьмем более простой пример, чтобы увидеть, что происходит:
$text = 'a';
$text[2] = 'boo'; // now $text is "a b"
Когда PHP видит, что мы обращаемся к индексу 2
строки, длина которой равна 1 (только допустимый индекс равен 0), он расширяет строку, добавляя два пробела, поэтому она делает строку 'a '
.
Далее оператор индекса []
работает с символами в строке.Таким образом, ваше второе утверждение заменяет 3-й символ на b
, давая вам a b