2010-04-29 134 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