获得最大值

时间:2020-08-21 06:15:15

标签: php arrays multidimensional-array

我对PHP还是很陌生,并且陷入了以下情况。我有一个带有一些值的数组,我想在数组集中获得最大值。

例如:

$array = array(
     0 => array(
        '1' => '123',
        '2' => '120',
        '3' => '30',
        '4' => '150'
     ),
     1 => array( 
        '1' => '123',
        '2' => '122',
        '3' => '30',
        '4' => '158'
     ),
     2 => array(
        '1' => '123',
        '2' => '129',
        '3' => '300',
        '4' => '150'
     )
);

我期望的值为300。 我尝试了以下代码,但我不知道如何从所有子数组中获取最大值。

$max = 0;
foreach( $array as $k => $v ){
  //this is where i need help

 }

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:3)

您可以先使用array_merge(...$array)展平数组,然后再使用max()函数:

$new_array = array_merge(...$array);
echo max($new_array);

Demo

答案 1 :(得分:0)

我采用@Hirumina的解决方案,并且如果$max = $y>> $y

,只需设置$max
$max = 0;
foreach( $array as $k => $v ) {
    foreach($v as $x => $y) {
        if($y > $max){
            $max = $y;
        }
    }
}
echo $max;

答案 2 :(得分:0)

$new_array = array_map(function($value){
    return max($value);
}, $array);
echo max($new_array);
相关问题