Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取最大值_Php_Arrays_Multidimensional Array - Fatal编程技术网

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'

我对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

 }

任何形式的帮助都将不胜感激。

我接受了@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);