Это потому, что PHP отправляет данные в браузер большими порциями. Все дело в оптимизации: отправка небольших данных отрицательно сказывается на производительности, вы хотите, чтобы они отправлялись достаточно большими блоками, чтобы затраты на их передачу (как по скорости, так и по фактическому трафику) были относительно низкими. Пара маленьких струн просто недостаточно велика. Попробуйте добавить flush()
сразу после echo
, это заставит PHP отправить эту строку в браузер.