首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中获取二维数组中最大元素的键

问如何在PHP中获取二维数组中最大元素的键
EN

Stack Overflow用户
提问于 2020-04-19 17:03:03
回答 2查看 96关注 0票数 2

示例数组

代码语言:javascript
复制
$array[0][0] = 5323;
$array[0][1] = 5346;
$array[0][2] = 5424;
$array[1][0] = 6000;
$array[1][1] = 5412;
$array[1][2] = 5543;
$array[2][0] = 5651;
$array[2][1] = 7000;
$array[2][2] = 5254;

因此,这个数组中最大的元素值为7000;如何获得他的键X和Y? (如在$arrayX中,因此在本例中为x=2和y= 1);

EN

回答 2

Stack Overflow用户

发布于 2020-04-19 18:01:27

当您得到一个新的最大值时,您可以循环遍历数组并保存x。

我从最小数目开始,从那里开始循环数组,如果值大于前一个最大值,它会更新变量。

代码语言:javascript
复制
$max = PHP_INT_MIN;

foreach($array as $key => $subarray){
    foreach($subarray as $subkey => $value){
        if($value > $max){
            $x = $key;
            $y = $subkey;
            $max = $value;
        }
    }
}

https://3v4l.org/5hHXP

票数 1
EN

Stack Overflow用户

发布于 2020-04-20 05:21:08

一种方法可以是对当前数组创建一个字符串,然后通过在数组上使用PHP的本机函数max创建字符串中所有值的数组和获取最大值:

代码语言:javascript
复制
$na = '';
foreach($array as $arr) {
    $na .= implode(',',$arr) . ',';
}
$max_value = max(explode(',',$na));

foreach($array as $x=>$arr) {
    $y = array_search($max_value, $arr);    
    if ($y !== false) break;
}

然后,您将得到$x、$y和$max_value中的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61308286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档