简单概括PHP的字符串中单引号与双引号的区别

2025-05-29 0 42

今天有个朋友问起,说下区别,顺便复习下。

单引号双引号的不同:

?

1

2

3

4

5
$hello= 3;

echo "hello is $hello"; // 打印结果:hello is 3

echo 'hello is $hello'; // 打印结果: hello is $hello

echo "hello is $hello\\n"; // 打印结果: hello is 2 (同时换行)

echo 'hello is $hello\\n'; // 打印结果: hello is $hello\\n

PS:
今天看到老外提到了PHP的单引号的问题,其中提到了有趣的东西,摘录如下:
其中说装了PHP扩展 Vulcan Logic Disassembler 后,可以看到PHP生成的中间码,
首先是:

?

1
echo "This is a string";

会转变为:

?

1
ECHO 'This is a string'

?

1
echo 'This is a string';

则变成

?

1
ECHO 'This is a string'

,是一样的
如果是

?

1
echo "This is a $variable";

则PHP产生的OPCODE为

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
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

?

1
echo "This is a " . $variable;

则会变成

?

1

2

3
CONCAT ~0 'This is a ' !0

2 ECHO ~0

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 简单概括PHP的字符串中单引号与双引号的区别 https://www.kuaiidc.com/98247.html

相关文章

发表评论
暂无评论