详解php中var_dump显示不换行,\r或\r\n和br换行
2017-08-08| 程成| 3156| 0| PHP技术

今天接到一个需求,将给定的txt文件内容输出到网页指定的格式。在这个过程中遇到了'\r\n'和<br />换行问题。

image.pngimage.png


我写的代码如下:


public function test1() {
    $file = fopen("smartcom_itravel_bank.txt", "r");
    $user = array();
    $i = 0;
    $str = '';
    //输出文本中所有的行,直到文件结束为止。
    while (!feof($file)) {
        $tmp = explode(',', fgets($file)); //fgets()函数从文件指针中读取一行
        $str .= '{Id:\'' . $tmp[0] . '\', name:\'' . $tmp[1] . ',' . $tmp[2] . '\'},' . '\r\n';
        $i++;
    }
    fclose($file);
    $user = array_filter($user);
    var_dump($str);
}


结果是所有显示都在同一行,这里的换行“\r\n”并没有起效果。把“\r\n”换成“<br />”就可以完美解决。这里的“\r\n”和“<br />”有着本质区别的。



分析:浏览器识别不了\n或\r\n,这两个换行符是文本换行符,文本文件有效;比如【echo'hello\n';echo'world';】//unix系统使用\n;windows系统下\r\n ,输出结果为helloworld! ,但是你查看源代码就会分行显示。


总结:如果需要将结果输出到浏览器或打印到显示器,代码中使用</br>;如果只是在源代码中换行,则使用\n或\r\n



×
作者:程成
QQ:492245711