在PHP中,单引号和双引号都可以用于字符串的处理,但不可能两不同的东西都完全相同的用法,所以他们之间还是存在一些很明显的功能区别。 1. 封闭的单引号内的将按照字面意义进行处理。 在下面这个例子中,echo语句在封闭的单引号中处理: ?php$temp = test;s
在PHP中,单引号和双引号都可以用于字符串的处理,但不可能两不同的东西都完全相同的用法,所以他们之间还是存在一些很明显的功能区别。
1.封闭的单引号内的值将按照字面意义进行处理。
在下面这个例子中,echo语句在封闭的单引号中处理:
<?php $temp = "test";<span style="white-space:pre"> //定义变量 echo 'test is equal to $temp';<span style="white-space:pre"> </span>//打印语句 ?>
test is equal to $temp
在下面这个例子中,echo语句在封闭的双引号中处理:
<?php $temp = "test";<span> //定义变量 echo "test is equal to $temp";<span> </span>//打印语句 ?>
test is equal to test
当然,在封闭的双引号中,也可以转义实现不解释变量的结果,只不过比较的麻烦,需要在需要转义的符号前面加上一个\。
例如:
<?php $temp = "test";<span> //定义变量 echo "test is equal to \$temp";<span> </span>//打印语句 ?>
test is equal to $temp
就相当于在封闭的单引号中的运行结果了。$被转义为普通的美元符号,没有了识别变量的作用。这在打印特定符号的时候有很大的作用,以免被解释为其他的内容。
PHP中的转义字符有:
" \n" ==>换行
"\r"==>回车
"\t"==>水平制表符
"\\"==> 反斜杠
"\$" ==>美元符号
" \' "==>单引号
" \" " ==>双引号
最后,讲一个打印的技巧,由于PHP会试图找出将值插入双引号内的变量,所以,单引号要相对比双引号快。但是,如果需要打印一个变量的话,那就必须要用双引号了啊。(吐槽一句:转义真的不怎么常用,因为确实很麻烦)