简单概括PHP的字符串中单引号与双引号的区别


Posted in PHP onMay 07, 2016

今天有个朋友问起,说下区别,顺便复习下。

单引号与双引号的不同:

  • " "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
  • ' '单引号里面的不进行解释,直接输出。 
  • 单引号解析的时间比双引号快 。
  • 单引号支持\转义符,双引号支持的转义符更多 。
$hello= 3;
echo "hello is $hello"; // 打印结果:hello is 3 
echo 'hello is $hello'; // 打印结果: hello is $hello 
echo "hello is $hello\n"; // 打印结果: hello is 2 (同时换行) 
echo 'hello is $hello\n'; // 打印结果: hello is $hello\n

PS:
今天看到老外提到了PHP的单引号的问题,其中提到了有趣的东西,摘录如下:
其中说装了PHP扩展 Vulcan Logic Disassembler 后,可以看到PHP生成的中间码,
首先是:

echo "This is a string";

会转变为:

ECHO    'This is a string'

echo 'This is a string';

则变成

ECHO    'This is a string'

,是一样的
如果是

echo "This is a $variable";

则PHP产生的OPCODE为

INIT STRING ~0 

2 ADD_STRING  ~0 ~0 'This' 

3 ADD_STRING  ~0 ~0 ' ' 

4 ADD_STRING  ~0 ~0 'is' 

5 ADD_STRING  ~0 ~0 ' ' 

6 ADD_STRING  ~0 ~0 'a' 

7 ADD_STRING  ~0 ~0 ' ' 

8 ADD_VAR    ~0 ~0 !0 

9 ECHO      ~0

echo "This is a " . $variable;

则会变成

CONCAT    ~0 'This is a ' !0 

2 ECHO      ~0

可以见到,速度快很多了,用.连接的话

PHP 相关文章推荐
Windows下PHP5和Apache的安装与配置
Sep 05 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
PHP6 先修班 JSON实例代码
Aug 23 PHP
常用的php对象类型判断
Aug 27 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
使用XDebug调试及单元测试覆盖率分析
Jan 27 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
Apr 25 PHP
兼容ie6浏览器的php下载文件代码分享
Jul 14 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
PHP检测链接是否存在的代码实例分享
May 06 #PHP
一波PHP中cURL库的常见用法代码示例
May 06 #PHP
PHP实现的简单分页类及用法示例
May 06 #PHP
PHP实现的多文件上传类及用法示例
May 06 #PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 #PHP
php将一维数组转换为每3个连续值组成的二维数组
May 06 #PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 #PHP
You might like
main.php
2006/12/09 PHP
Yii使用CLinkPager分页实例详解
2014/07/23 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
nodejs下打包模块archiver详解
2014/12/03 NodeJs
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
详解JavaScript 作用域
2020/07/14 Javascript
Python实现拼接多张图片的方法
2014/12/01 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
24式加速你的Python(小结)
2019/06/13 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
python处理document文档保留原样式
2019/09/23 Python
浅谈Python3中print函数的换行
2020/08/05 Python
python中字典增加和删除使用方法
2020/09/30 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
宿舍打麻将检讨书
2014/01/24 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
党校学习心得体会范文
2014/09/09 职场文书
计划生育证明格式及范本
2014/10/09 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
军训新闻稿范文
2015/07/17 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL