Я хочу, чтобы efficient
(без цикла) способ слияния массивов таким образом, что first element of the resulting array
является first element of the first array
, the second element of the resulting array
– the second element of the second array
( альтернативно) … и т. д.
Пример:
$arr1 = array(1, 3, 5); $arr2 = array(2, 4, 6); $resultingArray = array(1, 2, 3, 4, 5, 6);
предполагая, что оба массива имеют одинаковую длину.
$arr1 = array(1, 3, 5); $arr2 = array(2, 4, 6); $new = array(); for ($i=0; $i<count($arr1); $i++) { $new[] = $arr1[$i]; $new[] = $arr2[$i]; } var_dump($new);
Не то чтобы я действительно защищал этот «взлом», но это будет делать:
$result = array(); array_map(function ($a, $b) use (&$result) { array_push($result, $a, $b); }, $arr1, $arr2);
Это действительно просто скрывает двойной цикл за array_map
, поэтому, meh …