如何按desc顺序按最高值对数组进行排序?

时间:2012-12-12 19:20:16

标签: php loops for-loop foreach bubble-sort

我的数组看起来像:

$array['keyword1'] = 20;
$array['keyword4'] = 1;
$array['keywordsda'] = 33;

.....约1k。

我如何按值desc对它们进行排序?

$array['keywordsda'] = 33;
$array['keyword1'] = 20;
$array['keyword4'] = 1;

有什么想法吗?

3 个答案:

答案 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的第二个参数,如果没有,那么你可以省略它。