按顺序显示数组?

时间:2012-03-29 12:06:25

标签: php arrays

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

当我运行此代码时:

foreach ($rank_array as $clan => $rank) {
    echo $clan.' = '.$rank.'<br />';
}

我得到以下内容:

Tribus Bella = 179
TestClan = 767

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

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

我正在使用此代码插入

$rank_array = array($q['name'] => $clan_total_points);

这是错的吗?

2 个答案:

答案 0 :(得分:5)

asort()的默认排序标记是SORT_REGULAR,它将按升序顺序排序 - 这是它们已经存在的顺序。您需要按照降序顺序排序,您可以这样做:

asort($rank_array, SORT_DESC);

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

正如@Nameless正确指出的那样,正确这个问题的答案是你需要使用arsort()来实现你想要的目标。

答案 1 :(得分:1)

对于更多更少的值排序,请使用arsort函数。