简单概括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的中问验证码
Nov 25 PHP
php Sql Server连接失败问题及解决办法
Aug 07 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
php ci框架中加载css和js文件失败的解决方法
Mar 03 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
php单例模式示例分享
Feb 12 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
php图片添加文字水印实现代码
Mar 15 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
php unlink()函数使用教程
Jul 12 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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
PHP-FPM实现性能优化
2016/03/31 PHP
PHP与以太坊交互详解
2018/08/24 PHP
javascript textContent与innerText的异同分析
2010/10/22 Javascript
选择复选框按钮置灰否则按钮可用
2014/05/22 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
2015/03/24 Javascript
jQuery实现新消息在网页标题闪烁提示
2015/06/23 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
JavaScript门面模式详解
2017/10/19 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
在Python中定义和使用抽象类的方法
2016/06/30 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
PHP如何防止SQL注入
2014/05/03 面试题
面向对象设计的原则是什么
2013/02/13 面试题
销售人员中英文自荐信
2013/09/22 职场文书
童装店创业计划书
2014/01/09 职场文书
英文导游欢迎词
2014/01/11 职场文书
公务员综合考察材料
2014/02/01 职场文书
群众路线领导对照材料
2014/08/23 职场文书
补充协议书
2015/01/28 职场文书
检讨书模板大全
2015/05/07 职场文书
小学教学工作总结2015
2015/05/13 职场文书
员工年度工作总结2015
2015/05/18 职场文书
行政复议答复书
2015/07/01 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
JavaScript parseInt0.0000005打印5原理解析
2022/07/23 Javascript