php - 合并多个数组然后按数组值计数排序

标签 php arrays sorting merge array-merge

请帮助我,我需要合并多个数组,然后按数组值计数对其进行排序。下面是问题:

$array1 = array("abc", "def", "ghi", "jkl", "mno");
$array2 = array("mno", "jkl", "mno", "ghi", "pqr", "stu");
$array3 = array_merge($array1, $array2);
$array4 = ???

print_r($array4);

我想要像这样返回 $array4:

Array
(
[0] => mno
[1] => ghi
[2] => jkl
[3] => abc
[4] => def
[5] => pqr
[6] => stu
)

最佳答案

你可以这样做:

$array1 = array("abc", "def", "ghi", "jkl", "mno");
$array2 = array("mno", "jkl", "mno", "ghi", "pqr", "stu");
$array3 = array_merge($array1, $array2);

// get the array of count.
$array4 = array_count_values($array3);

// sort it in reverse order.
arsort($array4);

// extract just the keys.
$array4 = array_keys($array4);

Working example

关于php - 合并多个数组然后按数组值计数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2736635/

相关文章:

java - TreeMap 排序不适用于相等的值

python - 使用 pyuno 对 calc 文档中的单元格范围进行排序

php - 我需要帮助在同一个 sql 中显示两次使用 datetime 函数

php - Composer 安装 -sS 或 -s

c - 将结构数组传递给函数?

javascript - 通过 2 个匹配属性从对象数组中删除重复项

SQLite 调用未定义函数 sqlite_open() 的 PHP 问题

PHP/HTML - isset 函数

PHP 在数组中搜索键并返回它的值?

javascript - 数字数组数组的接口(interface)