有人可以告诉我,为什么PHP_EOL
无法在我的Mac上运行?
代码:
echo 'This is first line'.PHP_EOL.'This is second line';
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:8)
我只是猜测你正在查看浏览器中的结果,其中空白区域已折叠。 PHP可以输出:
This is first line
This is second line
但浏览器会像这样呈现:
这是第一行这是第二行
要在HTML中插入显式换行符,请使用<br>
标记。
答案 1 :(得分:0)
有时候,您会发现此常量未定义,使用最新的php引擎的现代托管不会出现此问题,但我认为一件好事是编写一些代码来保存这种情况:
<?php
if (!defined('PHP_EOL')) {
if (strtoupper(substr(PHP_OS,0,3) == 'WIN')) {
define('PHP_EOL',"\r\n");
} elseif (strtoupper(substr(PHP_OS,0,3) == 'MAC')) {
define('PHP_EOL',"\r");
} elseif (strtoupper(substr(PHP_OS,0,3) == 'DAR')) {
define('PHP_EOL',"\n");
} else {
define('PHP_EOL',"\n");
}
}
?>
因此,您可以毫无问题地使用PHP_EOL ...显然,PHP_EOL应该用于应该立即在更多系统上运行的脚本。
PHP_EOL的意思是:
1) on Unix LN == \n
2) on Mac CR == \r
3) on Windows CR+LN == \r\n
希望这个答案有帮助。