2010-09-07 83 views
3

我想两个变量结合在一起:连接PHP中字符串的最快方式是什么?

$var1 = 'Welcome ';

$var2 = $_SESSION['UserName'];

哪种方式工作得更快?代码示例1:

$var3 = $var1.$var2; 

或代码示例2:

$var3 = "$var1$var2"; 
+4

你为什么不自己测试一下? – Gumbo 2010-09-07 11:59:23

+1

如果您认为它与我想象的$ _SESSION ['UserName']可能包含的内容有任何区别,那么您就错了。 – 2010-09-07 12:00:04

+2

[PHP String concatenation - “$ a $ b”vs $ a的可能重复。 “”。 $ b - performance](http://stackoverflow.com/questions/1813673/php-string-concatenation-ab-vs-ab-performance) – karim79 2010-09-07 12:01:15

回答

7

代码示例1不会在所有工作..

语法方面的考虑搁置,样品1应该是平凡更快,因为它不涉及解析一个字符串(寻找变量)。

但它是非常,非常琐碎..

+0

无论如何,代码需要被解析。 – Gumbo 2010-09-07 12:02:20

+4

+1正确。示例1将生成更少的OPCode指令,因此速度会更快。字符串解析不应该太重要(因为它是由预处理器完成的),但它会生成更多的操作码。无论如何,我们可能会谈论亚微秒范围内的差异。所以,除非你在紧密循环中处理数百万个数字,否则首先要保持可读性。在这种情况下,更可读的解决方案恰好也是更快的解决方案。双赢! – ircmaxell 2010-09-07 12:07:59

2

两个例子都将提供相同的结果 - VAR3 $等于“欢迎Wazzy”。但是,代码示例1的工作速度会更快。尝试使用大量数据集(或者通过将小集合串联一百万次左右),你会发现连接的工作速度明显快于变量替换。

+0

这应该不是一个惊喜,应该吗? – 2010-09-07 12:10:41

相关问题