- 相關(guān)推薦
php教程:二維數(shù)組二分查找需找數(shù)組中某一元素下標
成功不是將來才有的,而是從決定去做的那一刻起,持續(xù)累積而成。以下百分網(wǎng)小編整理的在PHP中二維數(shù)組二分查找需找數(shù)組中某一元素下標,希望對大家有所幫助,更多信息請關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!
如果你的數(shù)組有特殊性:數(shù)組元素大小有序排序,這樣的話,你應(yīng)該用二分查找,因為它快速高效,特地寫了一段如下:
/**
* 二分法尋找數(shù)組下標
*@blog http://www.phpddt.com
*/
function binarySearch($array,$value){
//起始位置,你可以作為函數(shù)參數(shù)
$low = 0;
$high = count($array)-1;
while($low <= $high){
$mid = ceil(($low+$high)/2);
if($array[$mid] == $value)
return $mid;
if($array[$mid] < $value){
$low = $mid + 1;
}
if($array[$mid] > $value){
$high = $mid - 1;
}
}
return -1;
}
//this is a test
$a = array(1,3,5,7,8,12);
echo binarySearch($a,8); //4
?>
其實PHP中有個很好用的函數(shù)叫array_search()$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');$key = array_search('green', $array);echo $key; //2
?>
很輕松就返回數(shù)組下標了!
【php教程:二維數(shù)組二分查找需找數(shù)組中某一元素下標】相關(guān)文章:
php合并數(shù)組中相同元素的方法07-17
php如何去除數(shù)組中相同的元素07-09
PHP二維數(shù)組排序的方法03-23
PHP二維數(shù)組排序方法06-24
php二維數(shù)組怎么求和07-16
php統(tǒng)計數(shù)組元素個數(shù)的方法03-14
PHP中數(shù)組的分組排序07-26
php中數(shù)組的定義方法08-12
PHP數(shù)組的排序03-08