简单概括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 相关文章推荐
PHP读MYSQL中文乱码的解决方法
Dec 17 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
深入解析php之sphinx
May 15 PHP
php中引用符号(&)的使用详解
Nov 13 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
浅析php设计模式之数据对象映射模式
Mar 03 PHP
ThinkPHP自定义Redis处理SESSION的实现方法
May 16 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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
php实现文件下载更能介绍
2012/11/23 PHP
php静态文件生成类实例分析
2015/01/03 PHP
var与Javascript变量隐式声明
2009/09/17 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
javascript删除字符串最后一个字符
2014/01/14 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
python实现可逆简单的加密算法
2019/03/22 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Python bytes string相互转换过程解析
2020/03/05 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
舞蹈毕业生的自我评价
2014/03/05 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
2014年路政工作总结
2014/12/10 职场文书
学校重阳节活动总结
2015/03/24 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
Python加密技术之RSA加密解密的实现
2022/04/08 Python