关注迅速公众平台

关注迅速公众平台

关注迅速公众平台

关注微信联系人

企业电话:021-64391578

php notice错误的影响


先来段代码

  1. <?php
  2. $loop = 10000;
  3. $a = array();
  4. $start_time = microtime(true);
  5. for ($i = 0; $i < $loop; ++$i) {
  6. $a[$i];
  7. }
  8. echo 'trigger notice: ', (microtime(true) - $start_time), "\r\n";
  9. $start_time = microtime(true);
  10. for ($i = 0; $i < $loop; ++$i) {
  11. isset($a[$i]) && $a[$i];
  12. }
  13. echo 'trigger notice: ', (microtime(true) - $start_time), "\r\n";


再来看输出


  1. trigger notice: 1.7045228481293
  2. trigger notice: 0.0012819766998291


近两千倍的性能差异啊!


很多人对 notice 不以为然。代码里对时间放大了1W倍,如果在高并发的网站中,在循环中呢?

不过,这里也有就减少差异的方法,就是关闭错误提示:

error_reporting(0);


这时,差异减少到7倍左右


  1. trigger notice: 0.035562992095947
  2. trigger notice: 0.0042979717254639


使用错误抵制符 @ 也有助于减少差异,但效果没有 error_reporting(0) 好。

应当重视的是,良好的编码规范,使用 isset 测试元素是否存在,对于业务逻辑是有帮助的。


相关推荐
旅游app开发功能是什么?
直播带货app开发(经济新方位):每个季度的经济数据怎么看?
社交通讯app开发让社交更方便
企业在开发APP前都需要考虑哪些方面
早教类app开发可以为家长们解决哪些问题

特别申明:本站的主旨在于收集互联网运营相关的干货知识,给运营小伙伴提供便利。 网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点, 也不对网站内容的真实性负责,如有侵权,请联系站长删除

您可以联系我们

彼此协助, 彼此信任

方能将美好的蓝图兑现