0

尝试使用数组并想知道为什么以下内容在我运行时似乎没有在单独的行上打印值?

<?php

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

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

?>
4

5 回答 5

5

这就是诀窍。

<?php
    $my_array = array("stuff1", "stuff2", "stuff3");
    foreach ( $my_array as $item ) {
        echo $item . "<br/>";
    }
?>
于 2012-08-13T01:39:53.000 回答
3

如果您在 Web 浏览器中查看输出,则换行符不会在视觉上表示。相反,您可以使用 HTML 中断:

<?php
    $my_array = array("stuff1", "stuff2", "stuff3");
    echo implode('<br>', $my_array);
?>
于 2017-07-21T08:53:33.530 回答
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/>";

?>
于 2012-08-13T01:35:35.107 回答
2

来自我的 PHP 教科书:

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

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

于 2012-08-13T01:37:43.843 回答
-1

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

于 2012-08-13T01:35:45.483 回答