可能重复:
Is there a performance benefit single quote vs double quote in php?
哪种更快,单引号或双引号以及为什么?
另外,使用这两种方法有什么好处?
答案 0 :(得分:30)
我会说单引号更快,因为它们不需要 Shift ;)
不同的引号对变量输出和转义字符有影响。单引号内的内容按原样,不解释转义字符和变量。双引号解释变量值并转义特殊字符,如换行符(\n
)。
答案 1 :(得分:16)
你每秒处理1000个字符串吗?如果没有,你就不应该太担心。
如果要使用字符串插值(使用变量,数学等),请使用双引号
你也应该努力保持一致。
我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源。
答案 2 :(得分:11)
取决于你想做什么。我刚做了一些基准测试并测试了5个测试用例的字符串赋值:双引号+变量,双引号,双引号和字符串追加,单引号和带字符串追加的单引号。
我的测试代码。一百万个循环。字符串赋值。
<?php
$start = microtime(true);
$str = "";
for($i = 0; $i<1000000; $i++)
{
$str = "hello $i";
}
$end = microtime(true);
echo $end - $start;
结果:
单引号和双引号没有变量的字符串同样快。 (每个人都回应.08)。 具有变量串联的单引号和双引号字符串大致相同,但比无变量慢。 (每个回声在.17-.20左右) 字符串中带变量的双引号最慢(大约.20-.25)
所以Single / Double并不重要,但似乎字符串连接比变量替换更快。
答案 3 :(得分:4)
查看字符串@ phpbench的double(“)和single(')引号的性能比较。
结论:“在今天的PHP版本中,看起来这个参数在这一行的两边都得到满足。让所有人在这一个中和谐地融合在一起!”
答案 4 :(得分:3)
至于速度,唯一正确答案根本不应该是您的关注。期。 如果你找到一个,差异根本不重要。要关注速度,人们应该了解整个画面,而不是它的一个像素。使您的应用程序更快,更高效是一项艰巨而复杂的任务。但要问“哪个更快”问题是不可能的。 如果您真的关注此事,请从了解分析的内容开始。
至于优势,手册页解释是了解它的最佳位置:http://php.net/types.string
这不是真正的优势,而是用例。
答案 5 :(得分:1)
如果不需要对文本进行处理,则单个更快。
答案 6 :(得分:1)
单引号通常更快,内部引用的所有内容都被视为普通字符串,
像
echo 'anyting else ? $something';
>> anything else? $something
PHP不会使用额外的处理来解释单引号内的内容
但是,与双引号相比,PHP将替换其分配值的$ something
$something = 'yup';
echo "anyting else ? $something";
>> anything else ? yup