我知道在 PHP 中对字符串使用单引号比使用双引号更快,因为 PHP 不需要检查单引号字符串中是否存在变量。我的问题是哪个会表现更好:
A) 带有变量的双引号字符串:
echo "foo bar $baz";
或
B) 带连接变量的单引号:
echo 'foo bar ' . $baz;
最佳答案
我做了一个benchmark这是我前一段时间在写的博客上的。然而,正如我所意识到的那样,有很多变数。其中最主要的是:
- 您要进行多少次串联?每次执行连接时,PHP 都会重新解析整个字符串(或者有人告诉我)。因此 1 个串联可能更快,但 6 个可能相当慢。
- 数据类型。虽然我自己没有亲自测试过这个,但有人告诉我,连接的数据类型也很重要,但我不确定有多大。
总而言之,我要说的是,您真正担心它真的没什么大不了的。一般来说,如果你正在编写一个巨大的网站(想想 MySpace、Facebook、Flickr 等),它只会产生明显的不同,而且通常到那时你已经拥有如此多的硬件,以至于单引号和双引号的事情再次变得无关紧要.
就我个人而言,我会说有一些远更重要的事情会以更实质性的方式影响性能(缓存、sql 优化、自动加载以防止不必要的包含等)。
我个人几乎每次都选择单引号,但不是为了速度。我这样做是因为我认为它更具可读性。这对我来说很重要。
关于php - 哪个性能更好 : double quoted strings with variables or single quoted strings with concatenations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1311368/