Php 获取最大值
我对PHP非常陌生,我被困在下面的场景中。我有一个带有一些值的数组,我想得到数组集中的最大值 例如:Php 获取最大值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我对PHP非常陌生,我被困在下面的场景中。我有一个带有一些值的数组,我想得到数组集中的最大值 例如: $array = array( 0 => array( '1' => '123', '2' => '120', '3' => '30', '4' => '150' ), 1 => array( '1' => '123', '2'
$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
}
任何形式的帮助都将不胜感激。我接受了@Hirumina的解决方案,如果$y大于$max,则设置$max=$y
您可以先使用array\u merge…$array展平阵列,然后使用max函数:
$new_array = array_merge(...$array);
echo max($new_array);
这里,array_map函数将从单个$array中获取最大值,并存储在$new_数组中。
然后max$new\u array将为您提供最大值。仅用于clarify。为什么要在array merge中使用…$array请参阅array\u merge接受数组列表作为参数,array\u merge…$array表示$array包含需要合并在一起的数组列表。堆栈溢出时不建议使用仅代码响应。请考虑添加注释来解释此代码将如何帮助解决OP的问题。请阅读当有人问你问题时该怎么办。你能添加一些评论或解释吗。
$new_array = array_merge(...$array);
echo max($new_array);
$new_array = array_map(function($value){
return max($value);
}, $array);
echo max($new_array);