正确使用双引号和单引号?

时间:2010-03-11 19:32:09

标签: php performance syntax quotes

我在谈论这里的性能提升。据我所知,你可以用双引号(")回显变量,如下所示:

<?php

echo "You are $yourAge years old";

?>

但单引号只会返回You are $yourAge years old。但性能差异呢?我总是遵循单引号更快的规则,因为PHP解释器不必在字符串中搜索变量。但我在网上看到越来越多的博客和论坛帖子说的不同。

有没有人真正有关于这个主题的任何信息?也许基准测试或其他什么?

4 个答案:

答案 0 :(得分:2)

根据PHP Benchmark,差异极其微不足道:

single (') quotes. 20 bytes Text and 3x a $ : $tmp[] = 'aa $ aaaa $ aaaa $ a'
235 µs

double (") quotes. 20 bytes Text and 3x a $ : $tmp[] = "aa $ aaaa $ aaaa $ a";
226 µs

即使差异是它们的倍数,它们也与现实生活中的IMO无关。数据库和文件操作将花费数十倍,甚至数百倍的时间。这并不是说你的问题不完全有效,但在优化代码时并不是什么大问题。

可读性非常重要。

答案 1 :(得分:0)

我自己没有对它进行基准测试。我已经读过http://phpbench.com之类的单引号更快。我实际上今天在PHP Best Practices读到,双引号实际上更快,以为它们没有提供任何来源: - /。

答案 2 :(得分:0)

http://www.phpbench.com/

此处提供的基准非常有趣,内容丰富,并回答您的问题。

答案 3 :(得分:0)

The PHP Benchmark网站在它们之间没有显示出太大的差异(从底部进行第二次测试)。我的意思是,它的速度要快得多,但是你肯定不需要担心,我敢肯定。

如果你担心网站的性能,那么看起来要比打印电话的缩短时间要好得多。