PHP echo 单引号与双引号的区别

PHP中使用echo输出字符串时,使用单引号(' ‘)和双引号(” “)都是可以的,比如:

 

[php] view plain copy
 
 print?
  1. echo '测试变量在函数体外部的作用域</br>';  
  2. echo "测试变量在函数体外部的作用域</br>";  

这两句都是可以将该字符串打印出来的,但是单引号和双引号没有区别吗?不是的,在输出变量的时候是有区别的,比如如下代码:

 

 

[php] view plain copy
 
 print?
  1. $name = 'wangyuchun';  
  2. $car = array('Volvo', 'Ford', 'BMW');  
  3.   
  4. echo 'my name is $name</br>';  
  5. echo "my car is $car[0]</br>";  

我定义了两个变量,分别用单引号和双引号输出,输出结果为:

 

my name is $name
my car is Volvo

也就是说,如果把字符串常量和变量一起输出的话,必须使用双引号,双引号能识别字符串中的变量。

而单引号会把它包含的内容当成一个整体的字符串常量输出。

如果用Zend Studio工具的话,是可以看出二者的区别的:


在Zend Studio中,引号包含的字符串常量是使用蓝色字体标识的,而变量是用黑色字体标识的。

所以通过Zend Studio可以轻松看出来,使用单引号包含的变量的颜色是和字符串常量一样的蓝色,

也就是说在单引号包含中,无法识别变量。而双引号中变量是黑色,可以识别变量。

posted @ 2016-12-19 14:54  天涯海角路  阅读(652)  评论(0)    收藏  举报