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 相关文章推荐
ASP知识讲座四
Oct 09 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
逆序二维数组插入一元素的php代码
Jun 08 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
php微信公众平台开发类实例
Apr 01 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
PHP缓冲区用法总结
Feb 14 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
php防止sql注入的方法详解
Feb 20 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
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
简述JavaScript中正则表达式的使用方法
2015/06/15 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
bootstrap插件treeview实现全选父节点下所有子节点和反选功能
2017/07/21 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python3.6编写的单元测试示例
2019/08/17 Python
Python list与NumPy array 区分详解
2019/11/06 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
python中round函数如何使用
2020/06/19 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
美国女孩服装购物网站:Justice
2017/03/04 全球购物
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
一封普通求职者的求职信
2013/11/20 职场文书
大学生职业生涯规划范文
2014/01/22 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
倡议书范文大全
2015/04/28 职场文书
早上好问候语大全
2015/11/10 职场文书
python高温预警数据获取实例
2022/07/23 Python