示例数组
$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);
发布于 2020-04-19 18:01:27
当您得到一个新的最大值时,您可以循环遍历数组并保存x。
我从最小数目开始,从那里开始循环数组,如果值大于前一个最大值,它会更新变量。
$max = PHP_INT_MIN;
foreach($array as $key => $subarray){
foreach($subarray as $subkey => $value){
if($value > $max){
$x = $key;
$y = $subkey;
$max = $value;
}
}
}发布于 2020-04-20 05:21:08
一种方法可以是对当前数组创建一个字符串,然后通过在数组上使用PHP的本机函数max创建字符串中所有值的数组和获取最大值:
$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中的值。
https://stackoverflow.com/questions/61308286
复制相似问题