php中单引号与双引号的区别
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-29 13:56:20 浏览: 评论:0
引号中,任何变量($var)、特殊转义字符(如“t r n”等)不会被解析,因此php的解析速度更快,转义字符仅仅支持“’”和“”这样对单引号和反斜杠本身的转义;
在字串中使用变量
这个功能让你无须使用连接符号来粘和大量的简单字符串,php允许我们在双引号串中直接包含字符串变量,我们可以发现下面的两个字串的处理结果是相同的。
$full_name = $first_name . ' ' . $last_name;
$full_name = "$first_name $last_name";
单引号串和双引号串在php中的处理是不相同的。双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符。例如:在字符串中引用复杂的变量组合时,可能会产生一些问题,下面的代码会正常工作:
echo "value = $foo";echo "value = $a[$i]";
而下面的代码却不能得到我们希望的结果:
echo "value = $a[$i][$j]"; //我们希望打印二维数组$a的某个元素。
为避免这些字串使用中的潜在问题,我们通常把复杂的变量从字串中分离开来,就像这样:
echo 'value = ' . $a[$i][$j];
还有一种办法是将复杂变量用花括号括起来,语法分析器就能正确辨认了:
echo "value = {$a[$i][$j]}" //打印二维数组$a的某个元素
这样,又出现新问题了。当我们想在字串中引用花括号字符本身时,就要记得使用转义符了:
- $var = 3;
- echo "value = {$var}"; // 打印结果 "value = 3"
- echo "value = {$var}"; // 打印结果 "value = {3}"
- $foo = 2;
- echo "foo is $foo"; // 打印结果: foo is 2
- echo 'foo is $foo'; // 打印结果: foo is $foo
- echo "foo is $foon"; // 打印结果: foo is 2 (同时换行)
- echo 'foo is $foon'; // 打印结果: foo is $foon
双引号中,变量($var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字符,还有一些专门针对上述两项特性的特殊功能性转义,例如“$”和“{$array[‘key’]}。这样虽然程序编写更加方便,但同时php的解析也很慢;
引号内部的变量不会执行,双引号会执行,如:
- $name = 'hello';
- echo "the $name";
会输出 the hello,而如果是单引号:
- $name = 'hello';
- echo 'the $name';
会输出 the $name,主要区别就是这个,其他的无所谓,看你自己喜欢了,推荐是保持一致,如用单引号其他地方保持一致就可以了.
Tags: php 单引号 双引号 区别
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)