- 相关推荐
php教程:二维数组二分查找需找数组中某一元素下标
成功不是将来才有的,而是从决定去做的那一刻起,持续累积而成。以下百分网小编整理的在PHP中二维数组二分查找需找数组中某一元素下标,希望对大家有所帮助,更多信息请关注应届毕业生网!
如果你的数组有特殊性:数组元素大小有序排序,这样的话,你应该用二分查找,因为它快速高效,特地写了一段如下:
/**
* 二分法寻找数组下标
*@blog http://www.phpddt.com
*/
function binarySearch($array,$value){
//起始位置,你可以作为函数参数
$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中有个很好用的函数叫array_search()$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');$key = array_search('green', $array);echo $key; //2
?>
很轻松就返回数组下标了!
【php教程:二维数组二分查找需找数组中某一元素下标】相关文章:
php如何去除数组中相同的元素12-04
PHP数组函数知识11-29
PHP中删除数组中特定元素的两种方发03-29
简单PHP数组函数介绍11-28
php数组长度的方法03-03
PHP数组长度的技巧03-28
PHP判断数组是一维二维或几维实例03-29
php递归遍历多维数组的方法03-02
c语言怎么定义一维数组和二维数组11-27