0

我正在学习PHP并编写它并在浏览器中执行很麻烦。所以我把它写成脚本,在终端上执行,比如

me@machine $ php script.php

但是,在我看来,所有语句都打印到同一行,如果没有明确地打印换行符。

<?php
echo "Hello World.\n";
?>

如果我省略\n,我最终会得到

me@machine $ php hello_world.php
Hello World. > me@machine $

哪种是蹩脚的。

我真的,真的像真的一样(如“完全真的”),需要为\n我想测试的每条语句输入吗?

4

4 回答 4

1

你有一个选择:

  • 在末尾加上a \n,并有一个换行符。
  • 省略\n并且没有换行符。

由你决定。不,你不需要在那里,但如果你想将文本输出到命令行,你可能确实想要它。

我想还有另一种选择。由于 PHP 将标签之外的内容输出<?php .. ?>为纯文本,因此您可以在代码末尾的 final 之后放置一个空行?>。这将导致 PHP 在末尾输出一个新行,而无需编写\n.

但老实说,将\nin 放入您的字符串中是更好的编码实践。(坦率地说,\n在你的代码中出现并不是世界上最糟糕的事情。如果你无法应对\n在代码中看到的恐怖,那么无论如何你都将很难阅读大多数程序代码...等你学习正则表达式!!!)

于 2013-03-28T22:24:30.273 回答
1

不,您可以编写自己的 writeLn() 函数,也可以使用PHP_EOL代替\n,具体取决于脚本的用途。(换行字符串因系统而异,并且PHP_EOL是您的服务器的换行版本,因此它使您的脚本至少在运行环境方面具有可移植性。)

于 2013-03-28T22:25:49.703 回答
0

是的,您需要使用\n来打印新行。

PHP 只会打印您告诉它打印的内容。所以,如果你想要一个新行,那么你需要打印一个新行。

于 2013-03-28T22:19:44.957 回答
0

根据您的要求。

\n代表一个新的换行符。

因此,如果您正在使用单个回显测试单个命令,则从命令行您可能可以在没有换行符的情况下进行。

如果你有多个回声,所有的输出将被混杂成一个长文本。

function NewLine ($Text)
{
  $Text = $Text."\n";
  return $Text;
}

echo NewLine('This Text Will Have A New Line Appended To The End');
于 2013-03-28T22:20:42.093 回答