PHP Echo换行符

2020/11/30 19:21 · php ·  · 0评论

\ n和\ r(我知道它与操作系统有关)之间有什么区别?回声在跨平台上工作的换行符的最佳方法是什么?

编辑:作为对Jarod的回应,我将使用ths在.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");
    }
}

Jarod的答案包含\ r \ n在各种操作系统上的正确用法。以下是一些历史记录:

  • \ r或带有十进制代码13的ASCII字符在“回车”之后被命名为CR。
  • \ n(即十进制代码为10的ASCII字符)被命名为“换行符”,或在“换行符”之后为LF。

术语“回车”和“换行”可以追溯到使用电传打字机代替带显示器和键盘的终端时。对于电传打字机或打字机,“回车”是指移动光标并返回到文本的第一列,而“换行”是指旋转滚轴以到达下一行。当时,区分是有意义的。今天,表示一行文本结尾的\ n,\ r,\ r \ n组合完全是任意的。

PHP4上的PHP_EOL不需要向后兼容。

需要更正Moore关于恒定PHP_EOL可用性的声明:“ ...自PHP 5.0.2起声明。”。

不,自PHP 4.3.10起已经存在。任何仍在运行小于此值的人都不应在biz中工作。到今天为止,没有人应该使用PHP 5以下的版本!

在PHP手册中:“ PHP_EOL此平台的正确'行尾'符号。自PHP 4.3.10和PHP 5.0.2起可用。”

本文地址:http://php.askforanswer.com/php-echohuanxingfu.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!