我有一个名为$ 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)
那是错的吗?
asort()is 的默认排序标志SORT_REGULAR,将按升序排序 - 它们的排序顺序.您需要按降序排序,您可以这样做:
asort($rank_array, SORT_DESC);
Run Code Online (Sandbox Code Playgroud)
现在当你循环时 错误!$rank_array,它将按你想要的顺序排列.
正如@Nameless正确指出的那样,这个问题的正确答案是你需要使用arsort()才能达到你想要的效果.
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |