如何在PHP中随机组合两个数组

Kil*_*ish 5 php arrays random

如何将两个数组合并为一个数组,我要求的方式是第三个组合数组应该包含一个数组中的一个值,而下一个数组应该包含其他数组等等.或者(它可以是随机的)ex:

$arr1 = (1, 2, 3, 4, 5);
$arr2 = (10, 20, 30, 40, 50);
Run Code Online (Sandbox Code Playgroud)

和组合阵列

$arr3 = (1, 10, 2, 20, 3, 30, ...);
Run Code Online (Sandbox Code Playgroud)

kap*_*apa 15

如果它可以是随机的,这将解决您的问题:

$merged = array_merge($arr1, $arr2);
shuffle($merged);
Run Code Online (Sandbox Code Playgroud)


kap*_*apa 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);
}
Run Code Online (Sandbox Code Playgroud)