如何将两个数组合并为一个数组,我要求的方式是第三个组合数组应该包含一个数组中的一个值,而下一个数组应该包含其他数组等等...或者它可以是随机的) 例如:
$arr1 = (1, 2, 3, 4, 5);
$arr2 = (10, 20, 30, 40, 50);
和组合数组
$arr3 = (1, 10, 2, 20, 3, 30, ...);
答案 0 :(得分:15)
如果它可以是随机的,这将解决您的问题:
$merged = array_merge($arr1, $arr2);
shuffle($merged);
答案 1 :(得分:6)
我还制作了一个有趣的功能,可以产生你问题中的确切输出。无论两个数组的大小如何,它都能正常工作。
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);
}
答案 2 :(得分:3)
这将返回一个随机数组:
$merged = array_merge($arr1,$arr2);
shuffle($merged);
答案 3 :(得分:1)
sort($arr3 = array_merge($arr1, $arr2));
array_merge()
会将您的数组合并为一个。 sort()
将对组合数组进行排序。
如果你想随机而不是排序:
shuffle($arr3 = array_merge($arr1, $arr2));
$arr3
包含您要查找的数组。
答案 4 :(得分:0)
您可以使用
<?php
arr3 = array_merge ($arr1 , $arr2 );
print_r(arr3);
?>
将以
输出$arr3 = (1,2,3,4,5,10,20,30,40,50)