合并多个阵列然后通过数组值数排序 [英] Merging multiple array then sorting by array value count

查看:162
本文介绍了合并多个阵列然后通过数组值数排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮助我,我需要合并多个阵列然后通过数组值数排序它。下面的问题是:

  $ ARRAY1 =阵列(ABC,高清,GHI,JKL,MNO);
$数组2 =阵列(MNO,JKL,MNO,GHI,PQR,STU);
$ ARRAY3 = array_merge($数组1,$数组2);
$ array4 =?的print_r($ array4);

我想 $ array4 像这样的回报:

 阵列

[0] => MNO
[1] => GHI
[2] => JKL
[3] => ABC
[4] => DEF
[5] => PQR
[6] => STU


解决方案

您可以这样做:

  $ ARRAY1 =阵列(ABC,高清,GHI,JKL,MNO);
$数组2 =阵列(MNO,JKL,MNO,GHI,PQR,STU);
$ ARRAY3 = array_merge($数组1,$数组2);//获取计数阵列。
$ array4 = array_count_values​​($ ARRAY3);//按相反的顺序排序。
arsort($ array4);//只提取密钥。
$ array4 = array_keys($ array4);

工作的例子

Please help me, i need to merge multiple arrays then sorting it by array value count. Below is the problem:

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

print_r($array4);

I want the returns of $array4 like this:

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

解决方案

You can do:

$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

这篇关于合并多个阵列然后通过数组值数排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆