Php 修剪排序数组

Php 修剪排序数组,php,arrays,trim,Php,Arrays,Trim,今天的最后一个问题。。。多亏了你们大家,我才走得这么远!,但我需要更进一步。。我得到了一个排序数组,我需要有最高值,所以我需要修剪最高值下的所有较低值 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 关于它是经过排序的,所以您只需对所需的结果数量进行循环?闻起

今天的最后一个问题。。。多亏了你们大家,我才走得这么远!,但我需要更进一步。。我得到了一个排序数组,我需要有最高值,所以我需要修剪最高值下的所有较低值

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

关于

它是经过排序的,所以您只需对所需的结果数量进行循环?闻起来像是家庭作业,所以我不想发布一个完整的例子。我想我已经发了很多了

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

好吧,假设我理解你的意思,我想这应该行得通。我只是想写得太多而等不及你的回答:

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

你说的降低价值是什么意思?我不知道你在说什么。请发布一个示例数组的var_dump,并进一步定义“最高值上限”和“最高值下限”。我不确定我是否理解输入:每个键怎么可能有几个值?你的意思是你希望数组只包含具有最高值的条目(在本例中为Boerée/5和Bourée/5),正如Mathias E.已经暗示的,您的左列可能包含键,右列包含值,而不是相反……谢谢,我需要获取数组的最大值,$amount=max$authors;然后是其他的!谢谢谢谢,但已经写了这篇文章,它很有效:$maximuamount=maximu$authors$顶级作者=数组;foreach$authors为$lastn=>$key{如果$maxist\u amount==$key{$top\u authors[$lastn]+=1;}}嘿,我找到了一个更快的方法:$top\u authors=array\u keys$authors,max$authors;!