我对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
}
任何帮助将不胜感激。
答案 0 :(得分:3)
您可以先使用array_merge(...$array)
展平数组,然后再使用max()
函数:
$new_array = array_merge(...$array);
echo max($new_array);
答案 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);