2012-01-18 109 views
0

我有三個陣列:存儲多個數組值與順序

$arr1=array(0,5,2,3,4,5); 
$arr2=array(0,5,2,3,4,5); 
$arr3=array(0,5,2,3,4,5); 

I want to store their value in 4th array like below: 

$arr4=array(0,0,0,5,5,5,2,2,2,3,3,3,4,4,4,5,5,5); 

請輸入

回答

1
$arr4 = array_merge($arr1, $arr2, $arr3); 
asort($arr4); 

EDIT

對不起。 asort沒有按照你想要的方式排序。

您可以使用回調進行排序,但只有當您的每個輸入數組具有相同的元素數時,這才起作用。

$arr4 = array_merge($arr1, $arr2, $arr3); 

$length = count($arr1); 
uksort($arr4, function($k1, $k2) use($length) { 
    $sort = $k1%$length - $k2%$length; 
    if ($sort == 0) $sort = floor($k1/$length) - floor($k2/$length); 
    return $sort; 
}); 
1

試試這個

$array = array_merge($array1,$array2,$array3); //you can pass multiple array 
asort($array); 
print_r($array); 
+0

你的第一線將無法正常工作;-) – stefandoorn 2012-01-18 09:59:49

+0

@stefandoorn橢圓是可以傳遞 – Dau 2012-01-18 10:00:57

+0

$ array_merge我的意思;-) – stefandoorn 2012-01-18 10:01:16