简单概括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 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
PHP安全防范技巧分享
Nov 03 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
php中引用符号(&)的使用详解
Nov 13 PHP
几个实用的PHP内置函数使用指南
Nov 27 PHP
php数组添加与删除单元的常用函数实例分析
Feb 16 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
分享php多功能图片处理类
May 15 PHP
PHP执行shell脚本运行程序不产生core文件的方法
Dec 28 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
Dec 07 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
php简单生成随机数的方法
2015/07/30 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
PHP实现的策略模式示例
2019/03/20 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
Node.js如何自动审核团队的代码
2016/07/20 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
python的文件操作方法汇总
2017/11/10 Python
Python 字符串与数字输出方法
2018/07/16 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
python操作excel让工作自动化
2019/08/09 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
美国在线珠宝商店:SZUL
2017/02/11 全球购物
销售职业生涯规划范文
2014/03/14 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
介绍信格式
2015/01/30 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python