Welcome 微信登录

首页 / 网页编程 / PHP / 简单概括PHP的字符串中单引号与双引号的区别

今天有个朋友问起,说下区别,顺便复习下。
单引号与双引号的不同:
  • " "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
  • " "单引号里面的不进行解释,直接输出。 
  • 单引号解析的时间比双引号快 。
  • 单引号支持转义符,双引号支持的转义符更多 。
$hello= 3;echo "hello is $hello"; // 打印结果:hello is 3 echo "hello is $hello"; // 打印结果: hello is $hello echo "hello is $hello
"; // 打印结果: hello is 2 (同时换行) echo "hello is $hello
"; // 打印结果: hello is $hello
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 
可以见到,速度快很多了,用.连接的话