①转义的字符不同
单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。
?
1
2
3
4
5
6
7
|
<?php
$str1 = '\' ,\\,\r\n\t\v\$\"';
echo $str1 , '<br />' ;
$str2 = "\" ,\\,a\r\n\tb\v\$\'";
echo $str2 , '<br />' ;
?>
|
②对变量的解析不同
单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。
?
1
2
3
4
5
6
7
|
<?php
$age = 20;
$str1 = 'I am $age years old' ;
$str2 = "I am $age years old" ;
echo $str1 , '<br />' ; // I am $age years old
echo $str2 , '<br />' ; // I am 20 years old;
?>
|
③解析速度不同
单引号不需要考虑变量的解析,速度比双引号快.推荐用单引号.有的时候双引号也比较好用,比如在拼凑sql 语句
反斜杠
?
1
2
3
4
5
6
7
8
9
10
11
12
|
//使用单引号
echo ' this \n is \r the blog \t of \\ zhoumanhe \\' ;
//上面使用单引号输出的值是 this \n is \r the blog \t of \ zhoumanhe \
echo '
';
echo "
";
//使用双引号
echo "this \n is \r the blog \t of \\ zhoumanhe \\" ;
//上面使用双引号输出的值是 this is the blog of \ zhoumanhe \
|
使用sql
假设查询条件中使用的是常量,例如:
?
1
|
select * from abc_table where user_name= 'abc' ;
|
SQL语句可以写成:
?
1
|
SQLstr = “ select * from abc_table where user _name= ‘abc'” ;
|
假设查询条件中使用的是变量,例如:
?
1
|
$user_name = $_REQUEST [ 'user_name' ]; //字符串变量
|
或
?
1
|
$user = array (”name”=> $_REQUEST [ 'user_name‘,"age"=>$_REQUEST[' age']; //数组变量
|
SQL语句就可以写成:
?
1
2
|
SQLstr = “ select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;
SQLstr = “ select * from abc_table where user_name = ‘ ” . $ user [ "name" ] . ” ‘ “;
|
对比一下:
?
1
2
3
|
SQLstr=” select * from abc_table where user_name = ‘ abc ‘ ” ;
SQLstr=” select * from abc_table where user_name = ' ” . $user _name . ” ‘ “;
SQLstr=”select * from abc_table where user_name =' ” . $ user [ "name" ] . ” ‘ “;
|
SQLstr可以分解为以下3个部分:
?
1
2
3
|
1:” select * from table where user_name = ‘ ” //固定SQL语句
2:$ user //变量
3:” ‘ ”
|
附:大家也看到了 echo '<br/>'; html中的标签在单引号和双引号中都有效。
总结一下PHP引号使用原则
1.字符串的值用引号
3.在包含变量的时候,用双引号可以简化操作
4.复杂的情况下用大括号包起来
PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符n需要用双引号才能好使,单引号则会直接把n当成字符输出。
使用总结:在字符串里面不需要加入 变量 或者 单引号(')和反斜杠(\) 时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。能用单引号尽量用单引号。
相关文章
猜你喜欢
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 74
-
2025-05-25 85
-
2025-05-29 29
-
2025-05-27 75
-
2025-06-04 96
热门评论