简单概括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基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
PHP笔记之:日期函数的使用介绍
Apr 24 PHP
PHP提交表单失败后如何保留已经填写的信息
Jun 20 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
使用PHP similar text计算两个字符串相似度
Nov 06 PHP
PHP实现原比例生成缩略图的方法
Feb 03 PHP
PHP微信开发之文本自动回复
Jun 23 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
Nov 25 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
Dec 07 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
Dec 06 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实现的轻量级简单爬虫
2015/07/08 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
XP折叠菜单&仿QQ2006菜单
2006/12/16 Javascript
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
2013/07/09 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
vue无限轮播插件代码实例
2019/05/10 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
Python开发编码规范
2006/09/08 Python
python基础教程之字典操作详解
2014/03/25 Python
python实现ipsec开权限实例
2014/11/11 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
详解Python中is和==的区别
2019/03/21 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
师德学习感言
2014/01/31 职场文书
机械系毕业生求职信
2014/05/28 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
总账会计岗位职责
2015/04/02 职场文书
小学教师教育随笔
2015/08/14 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA
Hive日期格式转换方法总结
2022/06/25 数据库