在单独的行上打印数组的内容

时间:2012-08-13 01:33:27

标签: php arrays

尝试使用数组并想知道为什么以下在运行它时似乎不打印SEPARATE行上的值?

<?php

$my_array = array("stuff1", "stuff2", "stuff3");

echo $my_array[0] . "\n";
echo $my_array[1] . "\n";
echo $my_array[2] . "\n";

?>

5 个答案:

答案 0 :(得分:5)

这就是诀窍。

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

答案 1 :(得分:2)

您需要使用<br/>而不是\n打印,因为默认的PHP mime类型是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/>";

?>

答案 2 :(得分:2)

从我的PHP教科书:

  

新的php程序员经常犯的一个错误(特别是那些来自   C background)是试图在浏览器中打破文本行   将行尾字符(“\ n”)放在它们打印的字符串中。至   明白为什么这不起作用,你必须区分输出   php(通常是HTML代码,准备通过它发送)   从呈现输出的方式到Internet(浏览器程序)   由用户的浏览器。大多数浏览器程序都会自己制作   关于如何在HTML文本中拆分行的选择,除非您强制执行   使用<BR>标记换行。字符串中的行尾字符将   将换行符放在php发送给用户的HTML源代码中   浏览器(对于创建可读的HTML仍然有用)   来源),但它们通常对文本的方式没有影响   查看网页。

<br>标记由所有浏览器正确解释,而\n通常只会影响源代码并使其更具可读性。

答案 3 :(得分:2)

如果您在网络浏览器中查看输出,newlines aren't represented visually。相反,您可以使用HTML中断:

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

答案 4 :(得分:-1)

这是因为在HTML中,换行符是<br />,而不是"\n"