简单概括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的栏目导航程序
Oct 09 PHP
PHP实现MySQL更新记录的代码
Jun 07 PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
超小PHP小马小结(方便查找后门的朋友)
May 05 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
php控制文件下载速度的方法
Mar 24 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
Aug 01 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
php和nginx交互实例讲解
Sep 24 PHP
Laravel实现ORM带条件搜索分页
Oct 24 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 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
apache+php+mysql安装配置方法小结
2010/08/01 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
php curl选项列表(超详细)
2013/07/01 PHP
document.all与WEB标准
2020/05/13 Javascript
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
jquery实现保存已选用户
2014/07/21 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
AngularJS初始化静态模板详解
2016/01/14 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
浅谈关于iview表单验证的问题
2018/09/29 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
token 机制和实现方式
2020/12/15 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
python网络编程学习笔记(10):webpy框架
2014/06/09 Python
python实现telnet客户端的方法
2015/04/15 Python
Python实现快速多线程ping的方法
2015/07/15 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
会计岗位描述
2014/02/22 职场文书
会计岗位职责范本
2014/03/07 职场文书
父母对孩子的寄语
2014/04/09 职场文书
安全承诺书格式
2014/05/21 职场文书
满月酒邀请函
2015/01/30 职场文书
护理专业自我评价
2015/03/11 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
严以律己学习心得体会
2016/01/13 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
Python中字符串对象语法分享
2022/02/24 Python