简单概括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 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
php木马攻击防御之道
Mar 24 PHP
JpGraph php柱状图使用介绍
Aug 23 PHP
php创建sprite
Feb 11 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
Jul 22 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
php解决和避免form表单重复提交的几种方法
Aug 31 PHP
php中时间函数date及常用的时间计算
May 12 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
Aug 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下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
PHP递归复制、移动目录的自定义函数分享
2014/11/18 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
使用Python脚本操作MongoDB的教程
2015/04/16 Python
使用Python脚本将绝对url替换为相对url的教程
2015/04/24 Python
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
详解Python3的TFTP文件传输
2018/06/26 Python
python pygame实现2048游戏
2018/11/20 Python
利用Python+阿里云实现DDNS动态域名解析的方法
2019/04/01 Python
简单的Python调度器Schedule详解
2019/08/30 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
个人自荐材料
2014/05/23 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
驳回起诉裁定书
2015/05/19 职场文书
欠条样本
2015/07/03 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python