PHP中单引号与双引号的区别分析


Posted in PHP onAugust 19, 2014

①转义的字符不同

单引号和双引号中都可以使用转义字符(\),但只能转义在单引号中引起来的单引号和转义转义符本身。如果用双引号(“”)括起字符串,PHP懂得更多特殊字符串的转义序列。

<?php
$str1 = '\',\\,\r\n\t\v\$\"';
echo $str1,'<br />';
 
$str2 = "\",\\,a\r\n\tb\v\$\'";
echo $str2,'<br />';
?>

②对变量的解析不同
单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。

<?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 语句

反斜杠

//使用单引号
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

 假设查询条件中使用的是常量,例如:

select * from abc_table where user_name='abc';

SQL语句可以写成:

SQLstr = “select * from abc_table where user _name= ‘abc'” ;

假设查询条件中使用的是变量,例如:

$user_name = $_REQUEST['user_name']; //字符串变量


$user=array (”name”=> $_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//数组变量

SQL语句就可以写成:

SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;
SQLstr = “select * from abc_table where user_name = ‘ ” . $user["name"] . ” ‘ “;

对比一下:

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:”select * from table where user_name = ‘ ” //固定SQL语句
2:$user //变量
3:” ‘ ”

附:大家也看到了 echo '<br/>'; html中的标签在单引号和双引号中都有效。

总结一下PHP引号使用原则

1.字符串的值用引号

2.PHP中尽量用单引号,HTML代码全部用双引号

3.在包含变量的时候,用双引号可以简化操作

4.复杂的情况下用大括号包起来

PHP引号还有一个用处就是,有的时候需要用php生成文本文件,换行符n需要用双引号才能好使,单引号则会直接把n当成字符输出。

使用总结:在字符串里面不需要加入 变量 或者 单引号(')和反斜杠(\) 时,尽量用单引号引字符串,因为省去了双引号检查处理转义和解析变量上面的时间。能用单引号尽量用单引号。

PHP 相关文章推荐
How do I change MySQL timezone?
Mar 26 PHP
php str_pad 函数使用详解
Jan 13 PHP
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 PHP
来自phpguru得Php Cache类源码
Apr 15 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
php数组转成json格式的方法
Mar 09 PHP
php获取twitter最新消息的方法
Apr 14 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
php封装的连接Mysql类及用法分析
Dec 10 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
Jun 13 PHP
php版本的cron定时任务执行器使用实例
Aug 19 #PHP
PHP框架Swoole定时器Timer特性分析
Aug 19 #PHP
几道坑人的PHP面试题 试试看看你会不会也中招
Aug 19 #PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 #PHP
php解析json数据实例
Aug 19 #PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 #PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 #PHP
You might like
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
php验证码生成器
2017/05/24 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
javascript实现控制文字大中小显示
2015/04/28 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
JS实现盒子跟着鼠标移动及键盘方向键控制盒子移动效果示例
2019/01/29 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
python使用fork实现守护进程的方法
2017/11/16 Python
pandas string转dataframe的方法
2018/04/11 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
Python如何使用input函数获取输入
2020/08/06 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
"引用"与多态的关系
2013/02/01 面试题
素食餐饮项目创业计划书
2014/02/02 职场文书
预备党员的自我评价
2014/03/12 职场文书
党员公开承诺书内容
2014/05/20 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android