php获取双引号内的字符串,简单概括PHP的字符串中单引号与双引号的区别

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

单引号与双引号的不同:

" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。

' '单引号里面的不进行解释,直接输出。

单引号解析的时间比双引号快 。

单引号支持\转义符,双引号支持的转义符更多 。

$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生成的中间码,

首先是:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值