按顺序显示数组?

Ric*_*ges 1 php arrays

我有一个名为$ rank_array的数组:
Array ( [Tribus Bella] => 179 ) Array ( [TestClan] => 767 )

当我运行此代码时:

foreach ($rank_array as $clan => $rank) {
    echo $clan.' = '.$rank.'<br />';
}
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

Tribus Bella = 179
TestClan = 767
Run Code Online (Sandbox Code Playgroud)

我想以相反的顺序显示它(所以它按$ rank变量排序),但是当我使用类似asort的东西时,它根本不会改变顺序.
谁能帮忙解释一下原因?并帮我修复它?

编辑
所有函数似乎都没有工作(arsort,asort等),所以我想知道这是否是我将数据插入数组的方式.

我正在使用此代码插入它

$rank_array = array($q['name'] => $clan_total_points);
Run Code Online (Sandbox Code Playgroud)

那是错的吗?

Dav*_*dom 5

asort()is 的默认排序标志SORT_REGULAR,将按升序排序 - 它们的排序顺序.您需要按降序排序,您可以这样做:

asort($rank_array, SORT_DESC);
Run Code Online (Sandbox Code Playgroud)

现在当你循环时$rank_array,它将按你想要的顺序排列. 错误!

正如@Nameless正确指出的那样,这个问题的正确答案是你需要使用arsort()才能达到你想要的效果.