PHP中的单引号

今天看到老外提到了PHP的单引号的问题,其中提到了有趣的东西,摘录如下:
其中说装了PHP扩展 Vulcan Logic Disassembler 后,可以看到PHP生成的中间码,
首先是:echo "This is a string";
会转变为:
ECHO       'This is a string'

而echo 'This is a string';
则变成 ECHO       'This is a string'
,是一样的
如果是echo "This is a $variable";
则PHP产生的OPCODE为


INIT STRING  ~0 

2 ADD_STRING   ~0 ~0 'This'

3 ADD_STRING   ~0 ~0 ' '

4 ADD_STRING   ~0 ~0 'is'

5 ADD_STRING   ~0 ~0 ' '

6 ADD_STRING   ~0 ~0 'a'

7 ADD_STRING   ~0 ~0 ' '

8 ADD_VAR       ~0 ~0 !0 

9 ECHO            ~0
而echo "This is a " . $variable;
则会变成
CONCAT       ~0 'This is a ' !0 

2 ECHO           ~0

可以见到,速度快很多了,用.连接的话

你可能感兴趣的:(PHP)