Как объединить два массива в один, и я прошу об этом таким образом, что 3-й комбинационный массив должен содержать одно значение из одного массива и следующего из другого массива и т. Д. Или (это может быть случайным) ex:
$arr1 = (1, 2, 3, 4, 5); $arr2 = (10, 20, 30, 40, 50);
и объединенный массив
$arr3 = (1, 10, 2, 20, 3, 30, ...);
Я также сделал функцию для развлечения, которая даст точный результат, который у вас был в вашем вопросе. Он будет работать независимо от размера двух массивов.
function FosMerge($arr1, $arr2) { $res=array(); $arr1=array_reverse($arr1); $arr2=array_reverse($arr2); foreach ($arr1 as $a1) { if (count($arr1)==0) { break; } array_push($res, array_pop($arr1)); if (count($arr2)!=0) { array_push($res, array_pop($arr2)); } } return array_merge($res, $arr2); }
Если это может быть случайным, это решит вашу проблему:
$merged = array_merge($arr1, $arr2); shuffle($merged);
Это вернет случайный массив:
$merged = array_merge($arr1,$arr2); shuffle($merged);
sort($arr3 = array_merge($arr1, $arr2));
array_merge()
объединит ваши массивы в один. sort()
сортирует объединенный массив.
Если вы хотите, чтобы он был случайным, а не отсортированным:
shuffle($arr3 = array_merge($arr1, $arr2));
$arr3
содержит массив, который вы ищете.
Вы можете использовать
<?php arr3 = array_merge ($arr1 , $arr2 ); print_r(arr3); ?>
который будет выводиться в
$arr3 = (1,2,3,4,5,10,20,30,40,50)