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

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

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

判斷某字符是否包含與某于數(shù)組中,方法有很多,剛學(xué)習(xí)php的新手們估計偏向于使用循環(huán)來解決,對于一般的小網(wǎng)站來說,這種解決方案是不會出現(xiàn)什么大問題的。但就性能來說,這種方法不是最好的方法,下面筆者就 foreach,in_array() array_search 這三種方法來比較這三種方法在性能表現(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í)行時間: ".$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í)行時間如下圖所示:

in_array()

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

foreach

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

array_search()

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

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

相關(guān)文章

  • php事件驅(qū)動化設(shè)計詳解

    php事件驅(qū)動化設(shè)計詳解

    這篇文章主要介紹了php事件驅(qū)動化設(shè)計,結(jié)合實例形式較為詳細(xì)的分析了php事件驅(qū)動化所涉及的信號量、共享內(nèi)存與進(jìn)程間通信相關(guān)概念與操作技巧,需要的朋友可以參考下
    2016-11-11
  • php基礎(chǔ)知識:函數(shù)基礎(chǔ)知識

    php基礎(chǔ)知識:函數(shù)基礎(chǔ)知識

    php基礎(chǔ)知識:函數(shù)基礎(chǔ)知識...
    2006-12-12
  • php的ajax框架xajax入門與試用介紹

    php的ajax框架xajax入門與試用介紹

    xajax功能很簡單,但很靈活!~它不象其它一些大的框架,功能確實強(qiáng)大,但執(zhí)行速度不敢恭維。。功能雖多,但不夠靈活。api多,學(xué)起來簡直如同學(xué)習(xí)一門新的語言。
    2010-12-12
  • php數(shù)組索引與鍵值操作技巧實例分析

    php數(shù)組索引與鍵值操作技巧實例分析

    這篇文章主要介紹了php數(shù)組索引與鍵值操作技巧,涉及php數(shù)組的遍歷與索引、鍵值操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • php中簡單的對稱加密算法實現(xiàn)

    php中簡單的對稱加密算法實現(xiàn)

    最近突發(fā)奇想要往數(shù)據(jù)庫里保存一些機(jī)密的東西,然后就想著怎么讓別人即使進(jìn)入到了數(shù)據(jù)庫也看不懂存儲的是什么,那么只有加密了;可是我們自己還要看呢,那只能找一些對稱加密的算法了,我們想看的時候再解密回來。下面就介紹了php中簡單的對稱加密算法實現(xiàn)。
    2017-01-01
  • 解析使用substr截取UTF-8中文字符串出現(xiàn)亂碼的問題

    解析使用substr截取UTF-8中文字符串出現(xiàn)亂碼的問題

    本篇文章是對使用substr截取UTF-8中文字符串出現(xiàn)亂碼的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 深入理解PHP之源碼目錄結(jié)構(gòu)與功能說明

    深入理解PHP之源碼目錄結(jié)構(gòu)與功能說明

    這篇文章主要介紹了深入理解PHP之源碼目錄結(jié)構(gòu)與功能說明,簡單分析了php源碼的主要目錄及相應(yīng)的功能,需要的朋友可以參考下
    2016-06-06
  • 對PHP PDO的一些認(rèn)識小結(jié)

    對PHP PDO的一些認(rèn)識小結(jié)

    這篇文章主要介紹了對PHP PDO的一些認(rèn)識小結(jié),本文講解了什么是PDO、啟用PDO的配置方法、PDO的預(yù)定義類、事務(wù)處理例子等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • PHP實現(xiàn)陽歷到農(nóng)歷轉(zhuǎn)換的類實例

    PHP實現(xiàn)陽歷到農(nóng)歷轉(zhuǎn)換的類實例

    這篇文章主要介紹了PHP實現(xiàn)陽歷到農(nóng)歷轉(zhuǎn)換的類,實例分析了陽歷轉(zhuǎn)換到陰歷的原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 學(xué)習(xí)php設(shè)計模式 php實現(xiàn)策略模式(strategy)

    學(xué)習(xí)php設(shè)計模式 php實現(xiàn)策略模式(strategy)

    這篇文章主要介紹了php設(shè)計模式中的適配器模式,使用php實現(xiàn)適配器模式,感興趣的小伙伴們可以參考一下
    2015-12-12

最新評論