首 页 | 联系我们 | 关于优化网 | 中国阀门网-阀门88网 WEB优化行业门户网站-WEB-YOUHUA.CN
当前位置 : 首页 >> PHP技术 >> 关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比
返回首页

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

时间:2012-12-22 22:33:41 来源:中国优化网 作者:youhua 人气: 1190 发表评论  匿名投稿
判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreach,in_(中国阀门网-中国泵阀网-五金机械网)
判断某字符是否包含与某于数组中,方法有很多,刚学习php的新手们估计偏向于使用循环来解决,对于一般的小网站来说,这种解决方案是不会出现什么大问题的。但就性能来说,这种方法不是最好的方法,下面笔者就 foreach,in_array() array_search 这三种方法来比较这三种方法在性能表现上的差异。
PHP Code复制内容到剪贴板
  1. <?php  
  2. $runtimenew runtime;  
  3. $runtime->start();  
  4.         $a = k;  
  5.         $b = array(a,b,c,d,e,f,g,h,i,j,k);  
  6.   
  7. /* 
  8. for ($i=0; $i < 100000; $i++) { 
  9.         var_dump(in_array($a, $b));         
  10. } 
  11. */  
  12.   
  13. /* 
  14. for ($i=0; $i < 100000; $i++) { 
  15.         foreach ($b as $key => $value) { 
  16.                 if ($a == $value) { 
  17.                         //echo TRUE; 
  18.                         continue; 
  19.                 } 
  20.         } 
  21. } 
  22. */  
  23.   
  24. /* 
  25. for ($i=0; $i < 100000; $i++) { 
  26.         array_search($a, $b); 
  27. } 
  28. */  
  29.   
  30. $runtime->stop();  
  31. echo $_b;  
  32. echo "执行时间: ".$runtime->spent()." 毫秒";  
  33.   
  34. class runtime{  
  35.     var $StartTime = 0;  
  36.     var $StopTime = 0;  
  37.     function get_microtime(){  
  38.         list($usec$sec) = explode( , microtime());  
  39.         return ((float)$usec + (float)$sec);  
  40.     }  
  41.     function start(){  
  42.         $this->StartTime = $this->get_microtime();  
  43.     }  
  44.     function stop(){  
  45.         $this->StopTime = $this->get_microtime();  
  46.     }  
  47.     function spent(){  
  48.         return round(($this->StopTime - $this->StartTime) * 1000, 1);  
  49.     }  
  50. }  
  51. ?>  

以上程序执行时间如下图所示:

in_array()

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

foreach

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

array_search()

关于使用in_array() foreach array_search() 查找数组是否包含时的性能对比

由上可以大致看出这三种方法在性能上的表现了吧,array_search 和 in_array 表现差不多,foreach 表现最差。



”欢迎转载www.web-youhua.com文章,谢谢

(责任编辑:youhua)
------分隔线----------------------------
本公司致力于网站建设,网站优化,搜索引擎优化(SEO),Google左侧排名等服务。欢迎转载收藏web-youhua.com
用户名:  验证码:   
理智评论文明上网,拒绝恶意谩骂  [ 查看全部 ] 网友评论
相关推荐