在保持Key的同时按整数值对PHP数组进行排序

时间:2017-03-31 03:21:21

标签: php arrays sorting

我有一个像这样的数组

[Title 1] => 2
[Title 2] => 4
[Title 3] => 3
[Title 4] => 1

我试图做的就是对数组中的整数值进行排序,得到如下输出:

[Title 2] => 4
[Title 3] => 3
[Title 1] => 2
[Title 4] => 1

我认为这不重要,但我的数组是由array_count_values函数创建的。

$array = array_count_values($originalarray);

我已查看PHP: Array Sorting上的手册,但无法正常工作。

我尝试了一些看起来像可能工作的事情。

$newarray = arsort($array);

这只输出1

rsort相同。

我最接近的是使用array_multisort这样使用它:

$array = array_count_values($originalarray);
$newarray = array_multisort($array, SORT_NUMERIC, SORT_DESC);

现在,如果我执行print_r($array),则输出如下:

[Title 2] => 4
[1] => 3
[Title 1] => 2
[2] => 1

由于某种原因而且看似随机地摧毁数组中的键值并将12等替换为Title #

这似乎很容易,但我一直在努力尝试多项事情。任何人都可以为我发光吗?

1 个答案:

答案 0 :(得分:4)

php中的

sort函数返回boolean而不是数组 - http://php.net/manual/en/function.arsort.php Sort函数将更新您作为参数放置的数组 应该是这样的

<?php
$array = [];
arsort($array);
var_dump($array);