源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-12-02 18:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:简单概括PHP的字符串中单引号与双引号的区别
今天有个朋友问起,说下区别,顺便复习下。 单引号与双引号的不同: [list] [*]" "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。[/*] [*]' '单引号里面的不进行解释,直接输出。 [/*] [*]单引号解析的时间比双引号快 。[/*] [*]单引号支持\转义符,双引号支持的转义符更多 。[/*] [/list]
$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

[b]PS: [/b]今天看到老外提到了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)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部