您的位置:首页 > 编程语言 > PHP开发

PHP中单引号与双引号有什么区别

2013-05-17 21:41 585 查看
在PHP中,如果只是用于没有包含变量的文本型数据,单引号和双引号是没有什么区别的。但如果要使用变量,单引号和双引号就有区别了。下面分三点开始讨论:

1、在PHP中,双引号里可以直接代入变量,而无需转定义或者其他符号,而单引号就不行。例如:

<?php

$a="hello";

echo "$a world!";

echo "<br>";

echo '$a world!';

?>

运行结果为:

hello world!

$a world!

由此可以清楚的看出。

2、在运行效率上,一般来说单引号的运行速度比双引号的快,原因在于双引号要先查找语句中是否有变量,而单引号则不用,因此,如果语句中没有代入变量尽量采用单引号。这是写程序一种习惯,时刻想着提高程序的效率。

3、PHP语法分析器是用成对的引号来判断一个字符串的。因此,所有字符串必须使用同一种单或者双引号来定义开始和结束。下面的字串定义是不合法的:

$a='hello world";

$b="hello world';

定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的:

$a= "I am a 'single quote string' inside a double quote string";

$b = 'I am a "double quote string" inside a single quote string';

当PHP遇到与串的开头相对应的引号时,便认为已经到了字符串尾部,于是:

"Why
doesn't "this" work?"

此时编译器将出错。

要想输出Why doesn't "this" work?. 可以用到转义字符反斜杠\。此时编译器代码应为:

“Why
doesn't \"this\" work?”.

要想打印出反斜杠\,可以在代码中这样写:

$a="H:Program\\wamp";

运行结果为:

H:Program\wamp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: