网上关于PHP换行符有着各种说法。比如 \n , \r\n , \r , <br />等。现在来尝试一下。
博主环境:Windows10,wamp 2.5,notepad++7.5.1
mac下的换行符:

测试代码:

<?php 
echo 'hello ';
echo '<br/>';       //说法1:在浏览器上面的换行符是 <BR />,  正确
echo 'world ';
echo '<br>';

echo 'hello '; 
echo '\n';          //说法2:\n 是在控制台上面输出的换行
//\n的作用是给源代码换行,输入后,查看html源代码,就看会到有换行,而浏览器认为它是没用的东西,用不用都一样显示。  单引号换成双引号 正确。
echo 'world!'; 
echo '<br>';

echo 'hello ';
echo '\r\n';        //unix系统使用\n;windows系统下\r\n ;MAC 用 /r  
echo 'world ';
echo '<br>';

//如果是输出到自己的文件里,就用"\n",windows下是"\r\n"   正确
$file= 'test.txt';
$content = "hello  \n word!";
if($f  = file_put_contents($file, $content,FILE_APPEND)){  // 这个函数支持版本(PHP 5) 
echo "写入成功。<br />";
}
$content = "hello2  \r\n word!2";
if($f  = file_put_contents($file, $content,FILE_APPEND)){  // 这个函数支持版本(PHP 5) 
echo "写入成功。<br />";
}
echo '<br>';

echo "hello ";
echo "\n";      //程序的中的换行符\n会直接输出,无法正确换行,解决方法是把单引号改为双引号:PHP的双引号和单引号的区别问题  正确
echo 'world ';
echo '<br>';
?>

执行结果:

网页:

echo空行 echo 换行符_换行符


其中乱码部分是中文输出结果,成功写入文件。

注意:这个写入是会追加的。如果你原来已经存在这么一个文件,只会在文件尾部追加。

echo空行 echo 换行符_windows_02

终端:

echo空行 echo 换行符_echo空行_03

换行符 总结

<br/> <br>

这两个都是HTML标签,两个完全一样,因为br是自闭合标签。用br能成功在网页上实现换行。

<?php 
echo 'hello ';
echo '<br/>';       //说法1:在浏览器上面的换行符是 <BR />,  正确
echo 'world ';
echo '<br>';

“\r\n”

//如果是输出到自己的文件里,就用"\n",windows下是"\r\n"   正确
$file= 'test.txt';
$content = "hello  \n word!";
if($f  = file_put_contents($file, $content,FILE_APPEND)){  // 这个函数支持版本(PHP 5) 
echo "写入成功。<br />";
}
$content = "hello2  \r\n word!2";
if($f  = file_put_contents($file, $content,FILE_APPEND)){  // 这个函数支持版本(PHP 5) 
echo "写入成功。<br />";
}

Windows下输出到文件中的换行命令就是\r\n。
关于其他系统,可以自行测试。

“\n”

能在终端实现换行操作。在网页显示为空格,通过审查元素可见代码换行。
程序的中的换行符\n会直接输出,无法正确换行,解决方法是把单引号改为双引号:PHP的双引号和单引号的区别问题。
PHP允许我们在双引号串中直接包含字串变量,单引号串和双引号串在PHP中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。

<?php
echo "hello ";
echo "\n";      
echo 'world ';
echo '<br>';
?>

终端界面:

echo空行 echo 换行符_echo空行_04

网页界面:

echo空行 echo 换行符_换行符_05

注意:

换行时插入换行符要注意单双引号


追加 补充内容

PHP_EOL换行符

<?php
echo "hello ";
echo PHP_EOL;       //据说是多平台都能用的换行符,可以在不同平台尝试下。
echo 'world ';
echo '<br>';
?>

执行结果同“\n”完全一致。

终端界面:

echo空行 echo 换行符_echo空行_04

网页界面:

echo空行 echo 换行符_换行符_05

感觉应该还会有后续测试……