将多个数组值按顺序存储在一起

时间:2012-01-18 09:56:16

标签: php arrays

我有三个阵列:

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

请输入

2 个答案:

答案 0 :(得分:1)

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

修改

对不起。 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 :(得分:1)

试试这个

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