Печать содержимого массива на отдельных строках

Экспериментируйте с массивами и задаетесь вопросом, почему следующее, кажется, не печатает значения в SEPARATE, когда я запускаю его?

<?php $my_array = array("stuff1", "stuff2", "stuff3"); echo $my_array[0] . "\n"; echo $my_array[1] . "\n"; echo $my_array[2] . "\n"; ?> 

Solutions Collecting From Web of "Печать содержимого массива на отдельных строках"

Из моего учебника PHP:

Одной ошибкой, которую часто делают новые программисты php (особенно из C-фона), является попытка разбить строки текста в своих браузерах, помещая символы конца строки («\ n») в строки, которые они печатают. Чтобы понять, почему это не работает, вы должны различать вывод php (который обычно является HTML-кодом, готовым к отправке через Интернет в программу браузера) по тому, как вывод выводится браузером пользователя. Большинство программ для браузеров будут делать свой собственный выбор о том, как разделить строки в тексте HTML, если вы не нажмете разрыв строки с тегом <BR> . Конечные символы в строках помещают разрывы строк в исходный HTML-код, который php отправляет в браузер пользователя (который может быть полезен для создания читаемого источника HTML), но они обычно не будут влиять на то, как выглядит текст веб-страницу.

Тег-тег корректно интерпретируется всеми браузерами, тогда как \n обычно влияет только на исходный код и делает его более читаемым.

Это делает трюк.

 <?php $my_array = array("stuff1", "stuff2", "stuff3"); foreach ( $my_array as $item ) { echo $item . "<br/>"; } ?> 

Вам нужно печатать с помощью <br/> вместо \n потому что тип mime по умолчанию PHP – это HTML, и вы используете <br/> для выполнения разрывов строк в HTML.

Например,

 <?php $my_array = array("stuff1", "stuff2", "stuff3"); echo $my_array[0] . "<br/>"; echo $my_array[1] . "<br/>"; echo $my_array[2] . "<br/>"; ?> 

Если вы просматриваете вывод в веб-браузере, символы новой строки не отображаются визуально . Вместо этого вы можете использовать разрывы HTML:

 <?php $my_array = array("stuff1", "stuff2", "stuff3"); echo implode('<br>', $my_array); ?> 

Это потому, что в HTML разрыв строки – это <br /> , а не "\n" .