我理解单引号和双引号字符串之间存在差异。 在阅读了其他stackOverfow问题并查看this article之后,似乎大多数人都认为使用单引号的性能提升可以忽略不计。
作为一个新的PHP用户总是使用双引号似乎是最逻辑和最混乱的方式。但为什么人们仍然将他们的双引号分开?
<?php
$a = '12345';
echo "Numbers: $a !"; //What I think is good
echo "Numbers: " . $a . " !"; //What my teacher,book and tutorials use.
echo 'Numbers: ' . $a . ' !'; // Trick that gave a noticeable performance gain pre-PHP 4.3
?>
为什么今天人们更喜欢最新版PHP中的第二种或第三种方式?
答案 0 :(得分:3)
好吧,假设你有$a = "apple";
,并且想把它放在字符串"I love ______s!"
使用插值,您的“首选”方法,您可以尝试:"I love $as!"
,但当然这不起作用。
这就是为什么我更喜欢使用"I love ".$a."s!"
,因为这可以防止任何混淆。它也可以很容易地将它更改为数组访问,无论出于何种原因,因此它更“未来更新 - ”。还应该注意的是,大多数代码编辑器都无法突出显示插值变量,因此在视觉上更难找到。
答案 1 :(得分:3)
我通常使用第三种方式:
echo 'Numbers: ' . $a . ' !';
我尽可能使用单引号,因为我觉得它看起来更干净。当我需要像我的字符串中的换行符这样的东西时,我通常会从字符串的其余部分单独写出来。这也指出了这个“特殊”字符串:
echo 'Numbers: ' . $a . ' !' . "\n";
另外我认为在双引号字符串("like $so"
)中包含变量并不清楚,并且在许多编辑器中你不会有语法高亮。