网上关于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>';
?>
执行结果:
网页:
其中乱码部分是中文输出结果,成功写入文件。
注意:这个写入是会追加的。如果你原来已经存在这么一个文件,只会在文件尾部追加。
终端:
换行符 总结
<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>';
?>
终端界面:
网页界面:
注意:
换行时插入换行符要注意单双引号。
追加 补充内容
PHP_EOL换行符
<?php
echo "hello ";
echo PHP_EOL; //据说是多平台都能用的换行符,可以在不同平台尝试下。
echo 'world ';
echo '<br>';
?>
执行结果同“\n”完全一致。
终端界面:
网页界面:
感觉应该还会有后续测试……