我的数组看起来像:
$array['keyword1'] = 20;
$array['keyword4'] = 1;
$array['keywordsda'] = 33;
.....约1k。
我如何按值desc对它们进行排序?
$array['keywordsda'] = 33;
$array['keyword1'] = 20;
$array['keyword4'] = 1;
有什么想法吗?
答案 0 :(得分:6)
您可以使用arsort功能执行此操作...
此函数对数组进行排序,使数组索引保持其状态 与它们相关的数组元素的相关性。
这主要用于排序实际的关联数组 元素顺序很重要。
它会以相反的顺序(从高到低)对您的数组进行排序,以维护您的索引。
答案 1 :(得分:2)
rsort
以相反的顺序对数组进行排序。您可以使用rsort($array, SORT_NUMERIC)
,但我认为如果没有第二个参数,它可能会起作用。
答案 2 :(得分:0)
在手动中查找函数:sort,array_reverse
sort($your_array, SORT_NUMERIC);
$your_array = array_reverse($your_array, true);
如果你想保存键,发送true作为array_reverse的第二个参数,如果没有,那么你可以省略它。