我有一个看起来像这样的数组:
array(10) {
[0]=>
array(4) {
[0]=>
array(5) {
...
}
[1]=>
array(5) {
...
}
[2]=>
array(5) {
...
}
["opt"]=>
float(0.5)
}
[1]=>
array(4) {
[0]=>
array(5) {
...
}
[1]=>
array(5) {
...
}
[2]=>
array(5) {
...
}
["opt"]=>
float(1)
}
.....
}
我想找出第一层数组的Key,它在键'opt'处具有最高值。我希望你明白我的意思。 抱歉这句话,但有点难以解释! ;)
编辑: 我想到的是使用max()创建所有使用foreach的条目。我不确定这是否是最好的方式。
答案 0 :(得分:3)
您可以使用max() function
如果您的数组具有恒定长度“n”
$maxValue=max($array[0]["opt"],$array[1]["opt"], ... $array[n]["opt"]);
否则
$i=0;
foreach($array as $value) {
$opts[$i]=$value["opt"];
$i++;
}
$maxValue=max($opts);
答案 1 :(得分:0)
max()
+ array_map()
怎么样?
$max = max(
array_map(function (array $layer) {
return (float)$layer['opt'];
}, $layers)
)