回声参数和没有?

LmC*_*LmC 0 php string concatenation echo

我知道以下三个语句会产生相同的输出:

echo "Hello" . "World! <br/>";
echo "Hello"; echo "World!", "<br/>";
echo "Hello", "World!", "<br/>";
Run Code Online (Sandbox Code Playgroud)

但是,性能差异是什么?为什么?

与之"String" . "String"相比,连接速度较慢"String","String"吗?

brb*_*ing 5

这取决于你的表现是什么意思......就操作次数而言,你的第一个例子是最好的(操作次数最少)......你的第二个和第三个例子几乎完全相同.

这里的操作码echo "Hello" . "World! <br/>";

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, 
Run Code Online (Sandbox Code Playgroud)

这里的操作码echo "Hello"; echo "World!", "<br/>";

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, 
Run Code Online (Sandbox Code Playgroud)

这里的操作码echo "Hello", "World!", "<br/>";

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, 
Run Code Online (Sandbox Code Playgroud)

因此,您可以清楚地看到您echo在第二个和第三个示例中使用了一个额外的操作.但是,在这些示例中,性能(读取速度)几乎可以忽略不计.