PHP Echo行符
-
05-07-2019 - |
题
之间有什么差异 and (我知道它有什么操作系统),以及什么是最佳的方式回应线断裂,将工作交叉平台?
编辑: 在应对贾,我将使用的部份回应线断裂。txt日志文件,虽然我敢肯定,我会使用它在未来的事情,例如呼应HTML makup到一个网页。
解决方案
\n
是Linux/Unix线断裂。\r
是一个典型Mac OS(非OS X)条线断裂。Mac OS X使用上述unix\n
.\r\n
是Windows线断裂。
我通常只是用 \n
在我们的Linux系统和大多数Windows的应用程序处理它"确定"无论如何。
其他提示
使用 PHP_EOL
常量,该常量自动设置为运行PHP脚本的操作系统的正确换行符。
请注意,此常量从PHP 5.0.2开始声明。
<?php
echo "Line 1" . PHP_EOL . "Line 2";
?>
为了向后兼容:
if (!defined('PHP_EOL')) {
switch (strtoupper(substr(PHP_OS, 0, 3))) {
// Windows
case 'WIN':
define('PHP_EOL', "\r\n");
break;
// Mac
case 'DAR':
define('PHP_EOL', "\r");
break;
// Unix
default:
define('PHP_EOL', "\n");
}
}
贾的答复包含正确使用 上的各种操作系统。这里的一些历史记录:
- 或ASCII character与小数码13时,名为CR后的"回车".
- 或ASCII character用十进制代码10日,名为"行",或如果后"行饲料"。
术语"回车"和"进行"追溯到当teletypes用而不是终端用监测和键盘。相对于teletypes或打字机、"回车"意味着将光标移和返回的第一列的文本,同时"进行"的意思是旋转的滚得到下列行。在这段时间所作的区别的意义。今天的组合 , , 来表示结束一个行文本完全是任意的。
PHP4上PHP_EOL不需要向后兼容。
需要纠正Moore关于常量PHP_EOL可用性的声明:“...从PHP 5.0.2开始声明。”。
不,它自PHP 4.3.10开始就存在。任何仍然运行任何小于此的人都不应该在商业中。截至今天,没有人应该使用比PHP 5更小的东西!
来自PHP手册:&quot; PHP_EOL正确的'行尾'符号平台。从PHP 4.3.10和PHP 5.0.2&quot;。
开始提供不隶属于 StackOverflow