在PHP中用单引号打印换行符

我尽量使用单引号,我注意到我不能在单引号中使用\ n。 我知道我可以按回车键直接input一个换行符,但是这会把我的代码缩进去。

是否有一些ASCII字符或我可以键入的内容,当我使用单引号时会产生换行符?

不,因为单引号甚至禁止hex代码replace。

echo 'Hello, world!' . "\xA"; 
 echo 'hollow world' . PHP_EOL; 

然后使用常量PHP_EOL也是OS独立的。

仅供参考,可以将换行符换成不带双引号的string:

 printf('Please%1$sgive%1$sme%1$snewlines%1$s', PHP_EOL); 

这可能是有用的如果你对双引号的不理智的恐惧是没有界限的。 虽然我担心这种治疗可能比疾病还要糟糕。

如果你echo浏览器,你可以使用你的声明:

 echo 'Will print a newline<br/>'; echo 'But this wont!'; 

在PHP中使用单个VS双引号是有区别的

例如:1. echo '$var\n'; 2. echo "$var\n";

  • 在1中,PHP将逐字打印: $var\n
  • 在2中,PHP将不得不在内存中search$var的位置,并返回该位置的值,同样,必须将\ n作为新行字符parsing并打印出结果

我们处在百万分之一秒的范围内,但是performance有所不同。 我build议你尽可能使用单引号,即使知道你将无法感受到这种性能的提升。 但是在性能方面,我是一个偏执的开发者。

您可以在单引号中使用的唯一转义序列是单引号本身。

 $foo = 'That\'s great'; 

你可以插入一个新行到用单引号创build的string的唯一方法是插入一个文字换行符

 $bar = 'That\'s cheating'; 

你可能要考虑使用<<<

例如

 <<<VARIABLE this is some random text that I'm typing here and I will end it with the same word I started it with VARIABLE 

更多信息: http : //php.net/manual/en/language.types.string.php

顺便说一句 – 有些编码环境不知道如何处理上面的语法。

不,根据文档 ,PHP在单引号中没有识别特殊的符号。 没有单一的理由尽可能使用单引号