2015-04-23 43 views
0

内数组元素的最大值,这可能是很容易的,但人不是我如何获得在PHP

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()函数,但得到错误。

+0

荫没有得到为什么有人在这里downvoted我的问题?我错误地发布了这个问题,我做了任何错误 – Akilsree1

+0

我不给downvotes,但我可能知道原因。这个问题太微不足道了。如果你玩数组,你会在4-5个小时内得到解决方案。相反,您发布了一个简单的问题,但没有尽力而为。此外,为了提高问题质量,您需要展示您迄今为止所尝试的内容。 – AtanuCSE

回答

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 
+0

感谢@阿德里安这个想法,但我喜欢简单的代码。 – Akilsree1

+1

@ Akilsree1不客气;-) –

+0

如果数组包含负整数会怎么样? – mpen

3
max(array_slice($arr,2,3)) 
max(array_slice($arr,4,4)) 
max(array_slice($arr,8,3))