php中使用in_array() foreach array_search() 尋找數組是否包含時的效能對比_PHP

來源:互聯網
上載者:User
關鍵字 in_array foreach array_search
判斷某字元是否包含與某於數組中,方法有很多,剛學習php的新手們估計偏向於使用迴圈來解決,對於一般的小網站來說,這種解決方案是不會出現什麼大問題的。但就效能來說,這種方法不是最好的方法,下面筆者就 foreach,in_array() array_search 這三種方法來比較這三種方法在效能表現上的差異。

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 

判斷某字元是否包含與某於數組中,方法有很多,剛學習php的新手們估計偏向於使用迴圈來解決,對於一般的小網站來說,這種解決方案是不會出現什麼大問題的。但就效能來說,這種方法不是最好的方法,下面筆者就 foreach,in_array() array_search 這三種方法來比較這三種方法在效能表現上的差異。

___FCKpd___0

以上程式執行時間如所示:

in_array()

foreach

array_search()

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

b;echo "執行時間: ".$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); }}?>

以上程式執行時間如所示:

in_array()

foreach

array_search()

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

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.