首頁 > 後端開發 > php教程 > php數組 過濾掉PHP數組中的重複值的實現代碼

php數組 過濾掉PHP數組中的重複值的實現代碼

WBOY
發布: 2016-07-29 08:46:14
原創
1009 人瀏覽過

複製程式碼 程式碼如下:


$arrF = array();
$arrS = array();
$intTotal = 100 5; 0; $i {
$arrF[] = rand(1, $intRand);
$arrS[] = rand(1, $intRand);
}
$arrT = array_merge($ arrF, $arrS);
$arrRF = array();
$intStart = time();
foreach($arrT as $v)
{
if(in_array($v, $arrRF))
{
if(in_array($v, $arrRF))
{
if(in_array($v, $arrRF))
{ue
}
else
{
$arrRF[] = $v;
}
}
$intEnd = time();
$intTime = $intEnd-$intStart;
echo" />";
$intStart1 = time();
$arrRS = array_unique($arrT);
$intEnd2 = time();
$intTime2 = $intEnd2-$intStart1;
echo
$intTime2 = $intEnd2-$intStart1;
echo" ($intTime2)";
echo "

"; <br>print_r($arrT); <br>print_r($arrRF); <br>print_r($arrRS); echo "
登入後複製
";
?>
?在$intTotal比較小的情況下,比如說1000以內,$intRand的值基本上不影響結果,兩者執行的時間都差不多。
測試$intTotal 大於10000時,$intRand取值100時,使用array_unique的效率要高於foreach循環判斷,$intRand=10,兩者執行時間一致。
因此,可以得出結論,當數組容量不大,大概在1000以內時,使用兩者的執行效率差不多。
當數組容量比較大時(具體應該到什麼值,我沒有詳細測試,感興趣的可以確定一下這個值),隨著$intRand的逐漸增大,array_unique的表現更好,我不使用$intTotal/ $intRand這個比值,是因為,感覺不是成比例變化,但基本上會遵循比值越大,array_unique表現越好。

綜上所述,在過濾數組重複值的時候,建議使用array_unuique,數組不大的時候兩者效率等同,而array_unique使用當然讓你的代碼一下子減了好幾行,數組容量過大時,函數的表現更好,為什麼不用呢?

以上就介紹了php數組 過濾掉PHP數組中的重複值的實現代碼,包括了php數組方面的內容,希望對PHP教程有興趣的朋友有所幫助。

🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板