PHP 数组引用, $conn['host'] 和 $conn[host] 效率会差多少?

2017-11-27 23:12:37 +08:00
 xiaoyanbot

host 会去寻找常量,效率会差多少

2674 次点击
所在节点    PHP
11 条回复
1010011010
2017-11-27 23:54:04 +08:00
是字符串就加引号,是常量就不加,和效率无关
Gonejack
2017-11-28 00:09:09 +08:00
都不是一个情况怎么比较效率。除非引用出现在双引号括起来的字符串里,那种也当作没区别。
xifangczy
2017-11-28 06:42:29 +08:00
https://tool.lu/coderunner/?id=3Yi

无引号: 0.00085091590881348
单引号: 0.0010130405426025
双引号: 8.2969665527344E-5

这个结果不意外,其实双引号才是最差的。
我记得用 Zend Studio 写的话 他会自己给你添加引号
xifangczy
2017-11-28 06:48:26 +08:00
php 7.1.12

无引号: 0.0027420520782471
单引号: 0.00017094612121582
双引号: 0.00017309188842773

我感觉我好闲
Junjunya
2017-11-28 08:43:18 +08:00
@xifangczy
双引号不是效率最差的,最差的肯定是不加引号。
不加引号的话,会首先去查找是不是常量,如果常量没有会有警告,然后再去把他当成字符串来处理。
单引号和双引号的话。因为字符串里面没有变量、没有进行拼接的操作。所以效率差不多。

你第一个测试是你没看清楚, 双引号的是 8.2969665527344E-5 应该是 0.0000829
…… 其实我觉得 0.000829 比较合理
batnss
2017-11-28 09:35:36 +08:00
sandbox> exited with status 0
5.4.16
无引号: 0.0080370903015137
单引号: 0.0012021064758301
双引号: 0.00089788436889648
xiaozi
2017-11-28 12:16:48 +08:00
😂 sandbox 的 cpu load 飙了,我说咋回事呢
xifangczy
2017-11-28 19:16:52 +08:00
@Junjunya 嗯,是我没看清楚。


@xiaozi 哈哈,一开始我想放自己网站上来着,想想还是算了... 这锅我不背 -.-
xiaoyanbot
2017-11-29 22:03:51 +08:00
@xifangczy 感谢!!!!
xiaoyanbot
2017-11-29 22:04:57 +08:00
@xifangczy 双引号的效率比单引号低, 是怎么回事?
xifangczy
2017-11-30 00:36:49 +08:00
@xiaoyanbot 看 5 楼解释咯
双引号也会进入解析器 内有变量都会解析拼接效率当然没有单引号高

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/410056

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX