娇w兴 发表于 2017-3-22 10:26:21

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

可以见到,速度快很多了,用.连接的话
页: [1]
查看完整版本: PHP中的单引号