欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比

 更新時(shí)間:2015年04月14日 22:39:49   投稿:mdxy-dxy  
這篇文章主要介紹了php中使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比,需要的朋友可以參考下

判斷某字符是否包含與某于數(shù)組中,方法有很多,剛學(xué)習(xí)php的新手們估計(jì)偏向于使用循環(huán)來(lái)解決,對(duì)于一般的小網(wǎng)站來(lái)說(shuō),這種解決方案是不會(huì)出現(xiàn)什么大問(wèn)題的。但就性能來(lái)說(shuō),這種方法不是最好的方法,下面筆者就 foreach,in_array() array_search 這三種方法來(lái)比較這三種方法在性能表現(xiàn)上的差異。

<?php
$runtime= new runtime;
$runtime->start();
    $a = 'k';
    $b = array('a','b','c','d','e','f','g','h','i','j','k');

/*
for ($i=0; $i < 100000; $i++) {
    var_dump(in_array($a, $b));    
}
*/

/*
for ($i=0; $i < 100000; $i++) {
    foreach ($b as $key => $value) {
        if ($a == $value) {
            //echo TRUE;
            continue;
        }
    }
}
*/

/*
for ($i=0; $i < 100000; $i++) {
    array_search($a, $b);
}
*/

$runtime->stop();
echo $_b;
echo "執(zhí)行時(shí)間: ".$runtime->spent()." 毫秒";

class runtime{
  var $StartTime = 0;
  var $StopTime = 0;
  function get_microtime(){
    list($usec, $sec) = explode(' ', microtime());
    return ((float)$usec + (float)$sec);
  }
  function start(){
    $this->StartTime = $this->get_microtime();
  }
  function stop(){
    $this->StopTime = $this->get_microtime();
  }
  function spent(){
    return round(($this->StopTime - $this->StartTime) * 1000, 1);
  }
}
?>

以上程序執(zhí)行時(shí)間如下圖所示:

in_array()

關(guān)于使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比

foreach

關(guān)于使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比

array_search()

關(guān)于使用in_array() foreach array_search() 查找數(shù)組是否包含時(shí)的性能對(duì)比

由上可以大致看出這三種方法在性能上的表現(xiàn)了吧,array_search 和 in_array 表現(xiàn)差不多,foreach 表現(xiàn)最差。

相關(guān)文章

最新評(píng)論