-4

我的数组看起来像:

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

.....其中大约1k。

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

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

有什么想法吗?

4

3 回答 3

7

您可以使用函数arsort来执行此操作...

此函数对数组进行排序,以便数组索引保持与它们关联的数组元素的相关性。

这主要用于对实际元素顺序很重要的关联数组进行排序时。

它将以相反的顺序(从高到低)对您的数组进行排序,以维护您的索引。

于 2012-12-12T19:23:25.853 回答
2

rsort以相反的顺序对数组进行排序。您可以使用rsort($array, SORT_NUMERIC),但我认为如果没有第二个参数,它可能会起作用。

于 2012-12-12T19:21:51.143 回答
2

在手册中查找函数:sort、array_reverse

sort($your_array, SORT_NUMERIC);
$your_array = array_reverse($your_array, true);

如果你想保留键作为 array_reverse 的第二个参数发送 true,如果没有,那么你可以省略它。

于 2012-12-12T19:21:57.683 回答