简单概括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实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
PHP 冒泡排序算法的实现代码
Aug 08 PHP
php重定向的三种方法分享
Feb 22 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 PHP
php实现删除指定目录下相关文件的方法
Oct 20 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 PHP
php生成与读取excel文件
Oct 14 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
php中简单的对称加密算法实现
Jan 05 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 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跨时区(UTC时间)应用解决方案
2013/01/11 PHP
yii中widget的用法
2014/12/03 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
PHP标准库 (SPL)――Countable用法示例
2020/06/05 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
jquery sortable的拖动方法示例详解
2014/01/16 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
Vant picker 多级联动操作
2020/11/02 Javascript
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
phpquery中文手册
2021/03/18 PHP
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
房地产管理毕业生自荐信
2013/11/04 职场文书
公司财务自我评价分享
2013/12/17 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
校园安全检查制度
2014/02/03 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
考核评语大全
2014/04/29 职场文书
医学生求职信
2014/07/01 职场文书
2015年营业员工作总结
2015/04/23 职场文书
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技