人人人妻人人人妻人人人,99精品国产综合久久久久五月天 ,欧美白人最猛性XXXXX,日韩AV无码免费播放

News新聞

業(yè)界新聞動態(tài)、技術(shù)前沿
Who are we?

您的位置:首頁      樂道系統(tǒng)FAQ      php 查找數(shù)組元素提高效率的方法詳解

php 查找數(shù)組元素提高效率的方法詳解

標簽: 發(fā)布日期:2017-05-05 00:00:00 220

1.php in_array方法說明

PHP查找數(shù)組元素是否存在,一般會使用in_array方法。

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )

參數(shù)說明:

needle

待搜索的值,如果needle是字符串,比較是區(qū)分大小寫的。

haystack

用來比較的數(shù)組

strict

如果第三個參數(shù) strict 的值為 TRUE 則 in_array() 函數(shù)還會檢查 needle 的類型是否和 haystack 中的相同

返回值

如果找到 needle 則返回 TRUE,否則返回 FALSE。

2.in_array查找元素效率

當比較的數(shù)組haystack較大時,in_array效率會很低

例子:使用in_array對有10萬個元素的數(shù)組進行1000次比較

<?php
$arr = array();

// 創(chuàng)建10萬個元素的數(shù)組
for($i=0; $i<100000; $i++){
 $arr[] = $i;
}

// 記錄開始時間
$starttime = getMicrotime();

// 隨機創(chuàng)建1000個數(shù)字使用in_array比較
for($j=0; $j<1000; $j++){
 $str = mt_rand(1,99999);
 in_array($str, $arr);
}

// 記錄結(jié)束時間
$endtime = getMicrotime();

echo 'run time:'.(float)(($endtime-$starttime)*1000).'ms<br>';
/**
 * 獲取microtime
 * @return float
 */
function getMicrotime(){
 list($usec, $sec) = explode(' ', microtime());
 return (float)$usec + (float)$sec;
}
?>