Php 有参数和无参数的回声?
我知道以下三条语句将产生相同的输出:Php 有参数和无参数的回声?,php,string,concatenation,echo,Php,String,Concatenation,Echo,我知道以下三条语句将产生相同的输出: echo "Hello" . "World! <br/>"; echo "Hello"; echo "World!", "<br/>"; echo "Hello", "World!", "<br/>"; 但性能差异是什么?为什么 像字符串一样连接会比较慢吗。字符串与字符串相比,字符串?点运算符是最快的。您可以通过将其放入一个循环并对输出计时来进行测试,如下所示: 第2行和第3行是等效的 使用逗号会稍微快一点,因为它不使用
echo "Hello" . "World! <br/>";
echo "Hello"; echo "World!", "<br/>";
echo "Hello", "World!", "<br/>";
但性能差异是什么?为什么
像字符串一样连接会比较慢吗。字符串与字符串相比,字符串?点运算符是最快的。您可以通过将其放入一个循环并对输出计时来进行测试,如下所示:
第2行和第3行是等效的
使用逗号会稍微快一点,因为它不使用串联。这取决于您所说的性能。。。就操作数而言,您的第一个示例是best的操作数最少。。。您的第二个和第三个示例几乎完全相同 回音的操作码你好。世界 回音Hello的操作码;回声世界 echo的操作码你好,世界
因此,您可以清楚地看到,您在第二个和第三个示例中使用了一个额外的echo操作。不过,在这些示例中,性能读取速度几乎可以忽略不计。此外,使用逗号与PHP的其余部分不一致。所以为了清晰起见,也要使用点运算符。
Finding entry points
Branch analysis from position: 0
Return found
filename: /in/oYvSm
function name: (null)
number of ops: 3
compiled vars: none
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > CONCAT ~0 'Hello', 'World%21+%3Cbr%2F%3E'
1 ECHO ~0
5 2 > RETURN 1
branch: # 0; line: 3- 5; sop: 0; eop: 2
path #1: 0,
Finding entry points
Branch analysis from position: 0
Return found
filename: /in/nMufh
function name: (null)
number of ops: 4
compiled vars: none
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > ECHO 'Hello'
1 ECHO 'World%21'
2 ECHO '%3Cbr%2F%3E'
5 3 > RETURN 1
branch: # 0; line: 3- 5; sop: 0; eop: 3
path #1: 0,
Finding entry points
Branch analysis from position: 0
Return found
filename: /in/LnPaY
function name: (null)
number of ops: 4
compiled vars: none
line # * op fetch ext return operands
---------------------------------------------------------------------------------
3 0 > ECHO 'Hello'
1 ECHO 'World%21'
2 ECHO '%3Cbr%2F%3E'
4 3 > RETURN 1
branch: # 0; line: 3- 4; sop: 0; eop: 3
path #1: 0,