Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP合并或洗牌两个数组_Php_Arrays - Fatal编程技术网

PHP合并或洗牌两个数组

PHP合并或洗牌两个数组,php,arrays,Php,Arrays,我有一个这样的数组 Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 ) Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 ) 还有像这样的第二个数组 Array ( [0] => 1

我有一个这样的数组

 Array (
     [0] => 1
     [1] => 3
     [2] => 5
     [3] => 7
     [4] => 9
 )
 Array (
     [0] => 2
     [1] => 4
     [2] => 6
     [3] => 8
     [4] => 10
 )
还有像这样的第二个数组

 Array (
     [0] => 1
     [1] => 3
     [2] => 5
     [3] => 7
     [4] => 9
 )
 Array (
     [0] => 2
     [1] => 4
     [2] => 6
     [3] => 8
     [4] => 10
 )
我在寻找这个结果

 Array (
     [0] => 1
     [1] => 2
     [2] => 3
     [3] => 4
     [4] => 5
     [5] => 6
     [6] => 7
     [7] => 8
     [8] => 9
     [9] => 10
 )

注意:数字是任意的,根据用户的输入而变化。但是,我并不是要一个接一个地串联数组,而是要一个接一个地洗牌它们

有时候,一个简单的谷歌搜索可以走很长的路。请看以下两个命令

array\u merge()
-

sort()
-

如果“随机”的意思是随机化(即使合并列表已排序),那么


shuffle()
-

您可以这样做:

$arrayFinal = array_merge($arrayA, $arrayB);
asort($arrayFinal);

示例:

像这样的东西怎么样

    $j = count($arr1) > count($arr2) ? count($arr1) : count($arr2);
    $arr3 = array();

    for ($i = 0;$i < $j; $i++) {

        if (array_key_exists($i, $arr1)) {
            $arr3[] = $arr1[$i];
        }

        if (array_key_exists($i, $arr2)) {
            $arr3[] = $arr2[$i];
        }

    }

    var_dump($arr3);
$j=count($arr1)>count($arr2)?计数($arr1):计数($arr2);
$arr3=数组();
对于($i=0;$i<$j;$i++){
如果(数组\键\存在($i,$arr1)){
$arr3[]=$arr1[$i];
}
如果(数组\键\存在($i,$arr2)){
$arr3[]=$arr2[$i];
}
}
var_dump(3美元);

第一个数组和第二个数组的长度总是相同的吗?这是一个很好的问题,不是。根据输入的不同,它们可能有不同的长度。一个数组可能有8个键,另一个有6个键,这取决于输入。您真的希望对合并列表进行排序吗?每个数组中的数字是任意的(如前所述),并且取决于用户输入。第一个数组可以是数组([0]=>20,[1]=>50,[2]=>1)和第二个数组([0]=>5,[1]=>15,[2]=>7)。查找结果数组([0]=>20,[1]=>5,[2]=>50,[3]=>15,[4]=>1,[5]=>7);我想我可能需要构造一个函数来处理这个问题,例如:function($array1,$array2){var$temp;$temp=$array1[1];$array1[1]=$array2[0];$array1[2]=$temp;等…类似的。不知道。完美,正是我想要的。非常感谢。如果我的帖子有点混乱,我向所有人道歉。干杯!没有评论的不必要的向下投票?堆栈溢出是提供答案,而不是编写代码。