最近我又听说 php 人们仍然在谈论单引号和双引号,并且使用单引号只是一种微观优化,但如果你习惯一直使用单引号,你会节省大量的 cpu 周期!
“一切都已经说过了,但还没有被所有人说”——karl valentin正是本着这种精神,我正在写一篇关于 nikita popov 12 年前已经做过的同一主题的文章(如果您正在阅读他的文章,您可以在这里停止阅读)。
毛茸茸的到底是什么?
php 执行字符串插值,在字符串中搜索变量的使用情况,并将其替换为所使用变量的值:
1
2
3
$juice = “apple”;
echo “they drank some $juice juice.”;
// will outpu搭建商城点我wcqh.cnt: they drank some apple juice.
此功能仅限于双引号和定界符中的字符串。使用单引号(或 nowdoc)会产生不同的结果:
1
2
3
$juice = “apple”;
echo they drank some $juice juice.;
// will output: they drank some $juice juice.
看一下:php 不会搜索该单引号字符串中的变量。所以我们可以开始在任何地方使用单引号。所以人们开始建议这样的改变..
1
2
– $juice = “apple”;
+ $juice = apple;
.. 因为它会更快,并且每次执搭建商城点我wcqh.cn行该文件都会节省大量 cpu 周期,因为 php 不会在单引号字符串中查找变量(无论如何,在示例中不存在)并且每个人都是很高兴,案件已结。
案件结案了吗?
显然,使用单引号和双引号是有区别的,但为了理解发生了什么,我们需要更深入地挖掘。
尽管 php 是一种解释性语言,但它使用编译步骤,其中某些部分一起运行以获得虚拟机实际可以执行的东西,即操作码。那么我们如何从 php 源代码获取操作码呢?
词法分析器
词法分析器扫描源代码文件并将其分解为标记。可以在 token_get_all() 函数文档中找到该含义的简单示例。
暂无评论内容