Дело в том, что вывод этого PHP скрипта в браузере обрабатывается и показывается по правилам HTML-разметки.
Переносы строк при этом игнорируются или переводятся в пробелы, а множественные пробелы сокращаются до одного.
Если вы запустите этот скрипт в консоли - то получите именно то, что ожидали - http://ideone.com/VFToed