2010-04-29 98 views
6

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

$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 
) 

回答

11

你可以这样做:

$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

+1

Perfectttttttttttt – 2010-04-29 10:56:34

+0

完美,非常感谢你顺便提一下 – Sofyan 2010-04-29 11:06:15

+0

,是否可以合并e 3个或更多阵列? – Sofyan 2010-04-29 11:11:12