简体   繁体   English

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

[英]storing multiple array values in single with order

I have three 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);

pls input 请输入

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

EDIT 编辑

Sorry. 抱歉。 asort doesn't sort the way you want. asort没有按照你想要的方式排序。

You can use a callback for sorting, but this works only if every of your input arrays has the same element count. 您可以使用回调进行排序,但仅当每个输入数组具有相同的元素数时,此方法才有效。

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

try this 尝试这个

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM