我想得到最高的值,第二高的值和第三高的值
例如,我有一个数组,如:$n = array(100,90,150,200,199,155,15,186);
我知道获取最大值及其索引的方法:echo max($n); //200$maxs = array_keys($n, max($n));echo $maxs[0]; //3
我想得到前三个值和它们的索引,比如:value:200199186index:3,4,7
我怎么才能拿到?
最佳答案
试试这个:
$n = array(100,90,150,200,199,155,15,186);
rsort($n);
$top3 = array_slice($n, 0, 3);
echo 'Values: ';
foreach ($top3 as $key => $val) {
echo "$val\n";
}
echo '<br>';
echo 'Keys: ';
foreach ($top3 as $key => $val) {
echo "$key\n";
}
输出:
Values: 200 199 186
Keys: 0 1 2