0

我有一个看起来像这样的数组:

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)
  }
  .....
}

我想找出第一层数组的键,它在键'opt'处具有最高值。我希望你明白我的意思。对不起那句话,但有点难以解释!;)

编辑:我想到的是使用 max() 创建使用 foreach 的所有条目。我不确定这是否是最好的方法。

4

2 回答 2

3

您可以使用max() 函数

如果您的数组具有恒定长度“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);
于 2013-03-07T20:06:38.607 回答
0

max()+呢array_map()

$max = max(
    array_map(function (array $layer) {
        return (float)$layer['opt'];
    }, $layers)
)
于 2017-03-21T08:33:01.883 回答