如何按降序显示数组中的键值?

时间:2018-06-25 18:20:34

标签: php

这是我的代码:

<?php

    $toplist = array("Name1" => 1,"Name2" => 2,"Name3" => 3,"Name4" => 4,"Name5" => 5,"Name6" => 6,"Name7" => 7,"Name8" => 8,"Name9" => 9,"Name10" => 10);

    rsort($toplist);

    $length = count($toplist);

    for($x = 0; $x < $length; $x++) {
        echo $toplist[$x];
        echo "<br>";
    }
    ?>

我得到的输出是:

10
9
8
7
6
5
4
3
2
1

但是,我想要键值。
喜欢此输出:

Name10
Name9
Name8
Name7
Name6
Name5
Name4
Name3
Name2
Name1

1 个答案:

答案 0 :(得分:1)

这有两个部分,首先rsort()将重置数据密钥,因此请使用arsort()。第二部分可以使用array_keys()来获取数组的键并输出这些值。

arsort($toplist);
$length = count($toplist);
$keylist = array_keys($toplist);
for($x = 0; $x < $length; $x++) {
    echo $keylist[$x];
    echo "<br>";
}

这导致...

Name10
Name9
Name8
Name7
Name6
Name5
Name4
Name3
Name2
Name1

您可以使用foreach() ...

简化输出
arsort($toplist);
foreach ( $toplist as $key=>$value )    {
    echo $key;
    echo "<br>";
}