2013-03-07 77 views
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) 
    } 
    ..... 
} 

我想找出第一层的阵列,这在关键的具有最高价值的关键'选择'。我希望你明白我的意思。 对不起,这句话很难解释! ;)

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

+0

您是否尝试过使用foreach循环来查找最高值? – Niko 2013-03-07 19:59:14

+1

你可以使用'foreach()' – Ken 2013-03-07 19:59:31

回答

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); 
0

什么max() + array_map()

$max = max(
    array_map(function (array $layer) { 
     return (float)$layer['opt']; 
    }, $layers) 
)