如何在php中获取内部数组元素的最大值

时间:2015-04-23 03:21:20

标签: php arrays algorithm search

这对某些人来说可能很容易,但不适合我

我有这样的var_dump($array)

array (size=12)
0 => int 1 
1 => int 7
2 => int 8
3 => int 9
4 => int 3
5 => int 8
6 => int 3
7 => int 6
8 => int 5
9 => int 3
10 => int 4
11 => int 5

我需要索引2到5以及索引4到8和8到11

的最大值

我怎样才能实现这一目标。我尝试max()功能,但收到错误。

2 个答案:

答案 0 :(得分:3)

IMultiValueConverter

答案 1 :(得分:1)

您可以遍历搜索最大值的数组。首先,您将var $max设置为负值,如果索引$i中的值大于$max,则在循环内部,您可以更改值。

<?php

$array = array(
0 =>  1, 
1 =>  7,
2 =>  8,
3 =>  9,
4 =>  3,
5 =>  8,
6 =>  3,
7 =>  6,
8 =>  5,
9 =>  3,
10 =>  4,
11 =>  5
);

function maxArray($from, $to, $array) {
    $max = -1;
    for($i = $from; $i <= $to; $i++) {
        if($array[$i] > $max) {
            $max = $array[$i];
        }   
    }

    return $max;
}       

echo maxArray(2, 5, $array) . "<br>";
echo maxArray(4, 8, $array) . "<br>";
echo maxArray(8, 11, $array) . "<br>";

?>

输出:

9
8
5