关注迅速公众平台

关注迅速公众平台

关注迅速公众平台

关注微信联系人

企业电话: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成品系统_最快当天就可部署上线

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

您可以联系我们

彼此协助, 彼此信任

方能将美好的蓝图兑现