我需要将3个数组合并为1,同时按照第二个数组的第一个条目跟随第一个数组的第一个条目的方式对新数组进行排序.
例:
$array1 = array(dog, cat, mouse);
$array2 = array(table, chair, couch);
$array3 = array(car, bike, bus);
Run Code Online (Sandbox Code Playgroud)
这些数组应该产生以下数组:
$resultarray = array(dog, table, car, cat, chair, bike, mouse, couch, bus);
Run Code Online (Sandbox Code Playgroud)
非常感谢您的回复!
所有你需要的是 :
$resultarray = array();
foreach(array_map(null, $array1, $array2, $array3) as $set) {
$resultarray = array_merge($resultarray, $set);
}
print_r($resultarray);
Run Code Online (Sandbox Code Playgroud)
Array
(
[0] => dog
[1] => table
[2] => car
[3] => cat
[4] => chair
[5] => bike
[6] => mouse
[7] => couch
[8] => bus
)
Run Code Online (Sandbox Code Playgroud)
或简单的一行解决方案 - @deceze
call_user_func_array('array_merge', array_map(null, $array1, $array2, $array3));
Run Code Online (Sandbox Code Playgroud)