繁体   English   中英

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

[英]Printing contents of array on separate lines

对数组进行实验,想知道为什么以下命令在运行时似乎没有在SEPARATE行上打印这些值?

<?php

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

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

?>

这使窍门。

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

您需要使用<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/>";

?>

从我的PHP教科书中:

新的php程序员(尤其是来自C背景的php程序员)经常犯的一个错误是,通过在他们打印的字符串中放入行尾字符(“ \\ n”),试图破坏浏览器中的文本行。 要理解为什么它不起作用,您必须将php的输出(通常是HTML代码,可以通过Internet发送到浏览器程序)与用户浏览器呈现输出的方式区分开。 除非您使用<BR>标记强制换行,否则大多数浏览器程序都会对如何拆分HTML文本中的行做出自己的选择。 字符串中的行尾字符会在php发送到您的用户浏览器的HTML源代码中放置换行符(这对于创建可读的HTML源代码仍然很有用),但是它们通常不会影响文本的显示方式一个网页。

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

如果您在Web浏览器中查看输出,则换行符不会直观显示 相反,您可以使用HTML中断:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM