1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 关于php的文章 一篇关于 PHP 性能的文章

关于php的文章 一篇关于 PHP 性能的文章

时间:2020-06-03 11:59:24

相关推荐

关于php的文章 一篇关于 PHP 性能的文章

一篇关于 PHP 性能的文章

昨晚清理浏览器收藏夹网址时, 发现了 /, 想起来应该是 年发现的一个比较性能的文章, 我就点进去看了看, 发现还是全英文耶, 刚好最近一直在读一些英文文档和资料, 就想着把它翻译下来, 以供其他中国开发更有效率的阅读, 好多自我的口语化, 见谅~

想用一种直观的方式去陈述一个事实, 让人们明白不是每段 PHP 代码都能以相同的方式运行你可能会对产生的结果感到惊讶, 但是不要怀疑 --it's ok 一些被测试统计过的代码样例的页面也被创建了, 你可以下载然后在自己的服务器环境运行测试, 你可以结合自己的想法, 对这些实例进行一顿操作~~

注意: 你要时刻记住要多刷新几次页面来得到正确的结果, 每次刷新的时候, 数字都会急剧变化, 我认为这是因为 PHP 的内存垃圾回收机制是随机的并且这个机器上其他的进程对此也有影响

注意: 为了方便我就简单的使用了 microtime()函数来测试这用例如果使用了更高级的东西, 我担心一些初级 phper 理解不了

循环读取数据的比较

foreach() vs. for vs. while(list() = each())

循环读取一个哈希数组最好的方式是怎样的?

给出一个含有 100 个元素的哈希数组, 每个键值对是由 24 字节的键名和 10k 的数据组成

结论:

上面所有结果中, 我发现, foreach()循环比 while()和 for()强一档的水平有一点值得注意下, 所有样例中每个循环开始的时候我都会使用 reset()

由于之前测试的版本备受争议, 我必须道个歉, 因为我在 while 循环实施 reset()功能的时候是在最开始而不是结束时非常感谢 Anthony Bush 这位老铁发现了这个

修改下循环方式再来一波比较

如果我们改变读取循环的测试, 改变为: 循环读取数组结果后, 对每个元素进行简单的重新赋值它会又怎样一个结果表现呢?

还是给出一个含有 100 个元素的哈希数组, 每个键值对是由 24 字节的键名和 10k 的数据组成

结论:

foreach()依然吊打其他两位循环选手

计数循环之间的 PK

for() VS. while()

循环时提前算好循环体的长度有没有必要

比如: "for ($i=0; $i

结论:

* 结果让人吃惊... 这在任何程序中都是很容易去实现的一件事情, 也是 PHP 社区普遍认可的基准, 结果表明他们都是为了自己说话

双引号单引号的较量

double (") vs. single (')

PHP 中单引号和双引号效率上是否有区别呢? 比如重复使用 10000 多次时

结论:

* 在当前的 PHP 版本中, 这个条件下两边表现都是不俗的让大家在这一点上和谐相处!

变量检测的较量

isSet() vs. empty() vs. is_array()

结论:

*isset()和 empty()差不多的, 因此使用变量之前, 尽量检查一波例如: if (isSet($foo) AND is_array($foo))

条件控制结构的较量

switch/case/default vs. if/elseif/else

这两种流程控制结构有啥区别呢?

结论:

*switch/case 和 if/elseif 棋逢敌手五五开, 需要注意的是 if/elseif 中用全等 (===) 比相等 (==) 要稍微快一些哦~

字符串输出比较

echo vs. print

结论:

* 实际上, echo 和 print 函数 / 结构服务很明确, 因此实现他们的代码差不多值得一提的是: 在使用 echo 时, 用逗号分隔时, 会快一些

来源: /guixiaoming/p/8534224.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。