我的代码的目的是找到3个最低值,然而,如果它们中的两个是匹配的,它需要优先考虑哪一个出现在底部3。
这是我的数组
Array
(
[1] => 50.00
[5] => 59.38
[4] => 62.50
[2] => 62.50
[7] => 66.67
[8] => 68.75
[6] => 80.00
[9] => 91.67
)
优先级为Key,分数为Value。
根据这个例子;键2应该在键4之上,因为它们共享相同的值,但键2的优先级更高。
我希望这是有意义的,因为我开始怀疑我的理智了,哈哈。
很多谢谢,斯科特。
稍微重新格式化,然后排序:
$helpArr = array();
foreach ($yourArray as $prio => $score) {
$helpArr[] = array($score, $prio);
}
sort($helpArray);
将它恢复到你的格式:
$yourArray = array();
foreach ($helpArr as $h) {
$yourArray[$h[0]] = $h[1];
}
您可以使用sort和arsort函数来满足您的要求。检查下面的代码可能会对您有所帮助。
<?php
$arr = array(1=>50.00,5=>59.38,4=>62.50,2=>62.50,7=>66.67,8=>68.75,6=>80.00,9=>91.67);
ksort($arr);
arsort($arr);
print_r($arr);
?>
输出:
Array ( [9] => 91.67 [6] => 80 [8] => 68.75 [7] => 66.67 [4] => 62.5 [2] => 62.5 [5] => 59.38 [1] => 50 )
现在你将有列表3值在你的数组的底部。