这是我的PHP循环中的代码:
echo 'Name: ' . $name . '<br/>';
如何让PHP在循环的每次迭代中开始新的HTML行(而不是在单个HTML行上打印所有内容)?
答案 0 :(得分:22)
您需要在输出中包含换行符。因此:
echo 'Name: ' . $name . "<br/>\n";
请注意双引号,转义\ n必须显示为换行符而不是文字\ n。
另一个有用的转义是\ t,它将标签插入到输出中。
最后,作为一个不相关的提示,用逗号而不是句点将多个字符串传递给echo
会更快,如下所示:
echo 'Name: ', $name ,"<br/>\n";
这是因为使用点会导致PHP分配新的字符串缓冲区,将所有单独的字符串复制到该缓冲区中,然后输出这个组合字符串;而逗号导致PHP只是一个接一个地输出字符串。
答案 1 :(得分:6)
试试这个:
echo 'Name: ' . $name . '<br/>'."\n";
如果是双引号,\ n是换行符。
答案 2 :(得分:6)
在双引号"\n"
中使用换行符。单身不起作用。
答案 3 :(得分:0)
我发现使用单引号比使用简单。“\ n” 例如使用
echo 'text'.$var.'<br />
next line';
如果新行字符在单引号
中,则会回显它们答案 4 :(得分:0)
您可以通过在PHP字符串中包含文字回车来插入将出现在HTML源代码中的换行符,例如:
$count1 = '1';
$count2 = '2';
/* Note the opening single quote in the next line of code is closed on
the following line, so the carriage return at the end of that line is
part of the string */
echo '<table>
<tr><td>This is row</td><td>' , $count1 , '</td><td>and</td></tr>
<tr><td>this is row</td><td>' , $count2 , '</td><td> </td></tr>
</table>';
将输出
This is row 1 and
this is row 2
正如您所期望的那样,但源代码将显示为:
<table>
<tr><td>This is row</td><td>1</td><td>and</td></tr>
<tr><td>this is row</td><td>2</td><td> </td></tr>
</table>
可能有一些简单的例子,但当你用几行(如表)回显一个大字符串时,如果存在这些换行符,则更容易调试HTML源代码。请注意,如果您在这些字符串中缩进标签或空格,HTML代码也会有这些缩进。当然,浏览器会将所有这些内容折叠为单个空格,但它使HTML代码更容易理解。