找到min&来自数组的最大值,php

时间:2011-07-26 12:12:17

标签: php arrays

这是获取数组的结果我怎样才能找到min&这个数组的最大值。

Array ( [0] => 0 [pr] => 0 ) 

Array ( [0] => 200 [pr] => 200 ) 

Array ( [0] => 250.1 [pr] => 250.1 ) 

Array ( [0] => 500 [pr] => 500 ) 

Array ( [0] => 800 [pr] => 800 )

Array ( [0] => 5656 [pr] => 5656 ) 

Array ( [0] => 34343 [pr] => 34343 )

Array ( [0] => 565656 [pr] => 565656 )

4 个答案:

答案 0 :(得分:2)

$max = max(array_map('current', $array));
$min = min(array_map('current', $array));

答案 1 :(得分:1)

线条是如何连接还不完全清楚,但我想我们在这里谈的是一个多维数组。在这种情况下,迭代很容易:

$max = null;
foreach ($outer as $inner) {
    $max = max($max, $inner[0]); // Compare with previous max
}

// $max is now 565656

答案 2 :(得分:0)

看起来你可能有一个数组数组,每个内部数组都有两个具有相同值的键,你需要整个值集的最小值和最大值。如果是这种情况,您可能需要flatten the array,因此只需使用值获得单个数组,然后使用PHP minmax函数。他们可以将数组作为参数。

展平功能(从我给出的链接复制):

function flatten(array $array) {
    $return = array();
    array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; });
    return $return;
}

你如何使用它:

// assuming $the_array is your array of arrays:

$flat_array = flatten($the_array);
$min = min($flat_array);
$max = max($flat_array);

答案 3 :(得分:0)

 $min = $max = 0;
 foreach ($arrays as $arr)
 {
      if($arr[0] < $min) { $min = $arr[0]; }
      if($arr[0] > $max) { $max = $arr[0]; }
 }

 var_dump($min);
 var_dump($max);