обрезать отсортированный массив - PullRequest
0 голосов
/ 17 декабря 2010

последний вопрос на сегодня ... Я продвинулся далеко (спасибо всем вам!), Но мне нужно пойти еще дальше ... Я получил отсортированный массив, и мне нужно иметь верхние наивысшие значения, поэтому Мне нужно обрезать все нижние значения под самыми высокими ...

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

Привет

Ответы [ 2 ]

0 голосов
/ 17 декабря 2010

Хорошо, я думаю, это должно сработать, если я понимаю, что вы имеете в виду.Мне просто хотелось написать слишком много, чтобы ждать ответа :)

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 голосов
/ 17 декабря 2010

Это отсортировано, так что вы просто делаете цикл для количества результатов, которые вы хотите?Пахнет домашней работой, поэтому я не собираюсь публиковать полный пример.(Думаю, я уже много писал).

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