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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。