PHP-строки не похожи на C-строки.
Прошло много времени с тех пор, как я думал о внутренних органах. Насколько я помню, переменные php известны как "zvals", и это в основном структура, которая отслеживает такие вещи, как тип данных, длина и сами данные.
Таким образом, внутренне (по крайней мере, до довольно низкого уровня) PHP, вероятно, избегает полагаться на нулевое завершение, чтобы узнать, где заканчивается строка.
РЕДАКТИРОВАТЬ: Вот старая статья , в которой обсуждаются некоторые внутренние реализации переменных пространства пользователя в PHP