下面通过一些示例来具体说明一下这两者之间的去吧。
1) 对变量的解析不同
PHP 会解析双引号中的变量,而不会解析单引号中的变量。也就是说,如果使用单引号定义的字符串中出现变量,在输出时变量会被原样输出,不会解析成变量的值。而如果使用双引号定义的字符串中存在变量,在输出时变量会被解析为具体的值。
示例代码如下:
- <?php
- $website = 'C语言中文网';
- $url = 'http://c.biancheng.net/php/';
- $str1 = '您正在访问的是:$website <br>';
- $str2 = "网站的链接地址为:$url";
- echo $str1;
- echo $str2;
- ?>
运行结果如下:
您正在访问的是:$website 网站的链接地址为:http://c.biancheng.net/php/
需要注意的是,虽然双引号定义的字符串能够解析变量,但是如果变量后边还有字符串的话,就需要将变量与后面的字符串使用空格分开,或者使用大括号{ }
将变量包裹起来。如果不这么做的话,很可能会造成意想不到的结果。 示例代码如下:
- <?php
- $a = 'C语言';
- $b = 'PHP';
- $str1 = "欢迎访问$a中文网<br>";
- $str2 = "欢迎访问{$a}中文网<br>";
- $str3 = "$b 是世界上最好的语言!";
- echo $str1;
- echo $str2;
- echo $str3;
- ?>