什么是PHP,单引号或双引号更快?

时间:2011-02-02 05:25:49

标签: php performance quotes

  

可能重复:
  Is there a performance benefit single quote vs double quote in php?

哪种更快,单引号或双引号以及为什么?

另外,使用这两种方法有什么好处?

7 个答案:

答案 0 :(得分:30)

我会说单引号更快,因为它们不需要 Shift ;)

不同的引号对变量输出和转义字符有影响。单引号内的内容按原样,不解释转义字符和变量。双引号解释变量值并转义特殊字符,如换行符(\n)。

答案 1 :(得分:16)

你每秒处理1000个字符串吗?如果没有,你就不应该太担心。

如果要使用字符串插值(使用变量,数学等),请使用双引号

你也应该努力保持一致。

  

我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源。

Donald Knuth

答案 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