关注迅速公众平台

关注迅速公众平台

关注迅速公众平台

关注微信联系人

企业电话: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开发功能案例简介
山海经异兽录系统开发_山海经游戏系统开发多少钱?
上海VR房地产APP开发的哪些功能是用户的常用功能?
视频剪辑APP开发常见问题有哪些?视频剪辑APP为何如此受欢迎?

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

您可以联系我们

彼此协助, 彼此信任

方能将美好的蓝图兑现