2010-12-17 53 views
0

今天的最後一個問題...我已經遠遠的(謝謝你們所有人!),但我需要更進一步..我有一個排序的數組,我需要有最高的最高值,所以我需要修剪下的最高的所有較低值...整理排序陣列

value key 
Boerée 5 
Bour 5 
Linszen 4 
de Wilde 3 
Dingemans 3 
Koelman 3 
Tijssen 1 
van der Meer 1 
Bakker 1 
de Haan 1 
van Tricht 1 
Nieman 1 
Boer 1 

問候

+0

你說的微調值越低意味着什麼呢? – 2010-12-17 14:29:20

+0

我不知道你在說什麼。請發佈示例數組的var_dump,並進一步定義'最高值'和'最低'[ – Craige 2010-12-17 14:30:57

+0

]我不確定我是否理解輸入:如何爲每個鍵設置多個值? – 2010-12-17 14:31:37

回答

0

它的排序,所以你只是做了你想要的結果量的循環?聞起來像功課,所以我不會發表一個完整的例子。 (認爲​​我已經發布了很多)。

$amount = 5; 
for($i = 0; $i < amount; i++) 
+0

謝謝,我需要得到我的數組的最大值,$ amount = max($ authors);然後休息!謝謝! – Thijs 2010-12-17 14:44:54

0

好吧,我認爲這應該工作,假設我明白你的意思。我只是覺得寫太多等待你的答案:)

function onlyTheStrong($array) { 
    $returnArray = array(); 

    foreach ($array as $key => $value) { 
     if (!isset($max) || $value > $max) { 
      $max = $value; 
      $returnArray = array($key => $value); 
     } else if ($value == $max) { 
      $returnArray[$key] = $value; 
     } 
    } 

    return $returnArray; 
} 

它也適用於未排序的數組。

編輯:

怎麼樣,你可以使用:

$top_authors = array_keys($authors, max($authors)); 
+0

謝謝,但已經寫了這個,它的工作原理:$ largest_amount = max($ authors); $ top_authors = array(); 的foreach($作者爲$ lastn => $鍵) { 如果($ biggest_amount == $鍵) { $ top_authors [$ lastn] + = 1; } } – Thijs 2010-12-17 15:05:30

+0

嘿,我發現更快的方法:'$ top_authors = array_keys($ authors,max($ authors));'! – 2010-12-17 15:12:33