首页 > 语言 > PHP > 正文

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

2024-05-04 23:45:42
字体:
来源:转载
供稿:网友
这篇文章主要介绍了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 

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



注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选