双引号是否过多,这就是问题所在!(这就是.过多.双引号...)

wufei123 发布于 2024-08-16 阅读(29)

最近我又听说 php 人们仍然在谈论单引号和双引号,并且使用单引号只是一种微观优化,但如果你习惯一直使用单引号,你会节省大量的 cpu 周期!

“一切都已经说过了,但还没有被所有人说”——karl valentin

正是本着这种精神,我正在写一篇关于 nikita popov 12 年前已经做过的同一主题的文章(如果您正在阅读他的文章,您可以在这里停止阅读)。

毛茸茸的到底是什么?

php 执行字符串插值,在字符串中搜索变量的使用情况,并将其替换为所使用变量的值:

$juice = "apple";
echo "they drank some $juice juice.";
// will output: they drank some apple juice.

此功能仅限于双引号和定界符中的字符串。使用单引号(或 nowdoc)会产生不同的结果:

$juice = "apple";
echo 'they drank some $juice juice.';
// will output: they drank some $juice juice.

看一下:php 不会搜索该单引号字符串中的变量。所以我们可以开始在任何地方使用单引号。所以人们开始建议这样的改变..

- $juice = "apple";
+ $juice = 'apple';

.. 因为它会更快,并且每次执行该文件都会节省大量 cpu 周期,因为 php 不会在单引号字符串中查找变量(无论如何,在示例中不存在)并且每个人都是很高兴,案件已结。

案件结案了吗?

显然,使用单引号和双引号是有区别的,但为了理解发生了什么,我们需要更深入地挖掘。

尽管 php 是一种解释性语言,但它使用编译步骤,其中某些部分一起运行以获得虚拟机实际可以执行的东西,即操作码。那么我们如何从 php 源代码获取操作码呢?

词法分析器

词法分析器扫描源代码文件并将其分解为标记。可以在 token_get_all() 函数文档中找到该含义的简单示例。

标签:  这就是 过多 双引号 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。