为了账号安全,请及时绑定邮箱和手机立即绑定

获取最大值

获取最大值

PHP
MM们 2023-10-21 16:18:52
我对 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 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

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

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

演示


查看完整回答
反对 回复 2023-10-21
?
RISEBY

TA贡献1856条经验 获得超5个赞

$new_array = array_map(function($value){

    return max($value);

}, $array);

echo max($new_array);

这里 array_map 函数将从单个$array中获取最大值并将其存储在$new_array中。然后max($new_array)会给你最大值。


查看完整回答
反对 回复 2023-10-21
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

我采用了@Hirumina 的解决方案并设置了$max = $yif $yis >$max


$max = 0;

foreach( $array as $k => $v ) {

    foreach($v as $x => $y) {

        if($y > $max){

            $max = $y;

        }

    }

}

echo $max;


查看完整回答
反对 回复 2023-10-21
  • 3 回答
  • 0 关注
  • 76 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信