PHP中使用echo输出字符串时,使用单引号(' ‘)和双引号(” “)都是可以的,比如:
echo '测试变量在函数体外部的作用域</br>';
echo "测试变量在函数体外部的作用域</br>";
这两句都是可以将该字符串打印出来的,但是单引号和双引号没有区别吗?不是的,在输出变量的时候是有区别的,比如如下代码:
$name = 'wangyuchun';
$car = array('Volvo', 'Ford', 'BMW');
echo 'my name is $name</br>';
echo "my car is $car[0]</br>";
我定义了两个变量,分别用单引号和双引号输出,输出结果为:
my name is $name
my car is Volvo
也就是说,如果把字符串常量和变量一起输出的话,必须使用双引号,双引号能识别字符串中的变量。
而单引号会把它包含的内容当成一个整体的字符串常量输出。
如果用Zend Studio工具的话,是可以看出二者的区别的:
在Zend Studio中,引号包含的字符串常量是使用蓝色字体标识的,而变量是用黑色字体标识的。
所以通过Zend Studio可以轻松看出来,使用单引号包含的变量的颜色是和字符串常量一样的蓝色,
也就是说在单引号包含中,无法识别变量。而双引号中变量是黑色,可以识别变量。