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;等…类似的。不知道。完美,正是我想要的。非常感谢。如果我的帖子有点混乱,我向所有人道歉。干杯!没有评论的不必要的向下投票?堆栈溢出是提供答案,而不是编写代码。