如下所示,合并两个给定数组的最佳方法是什么
$a = [1, 2, 3];
$b = [a, b, c];
$results = [1, a, 2, b, 3, c];
答案 0 :(得分:1)
一个简单的循环可能是最简单的方法
$a = [1, 2, 3];
$b = [a, b, c];
$results = [];
foreach ($a as $key => $val) {
$results[] = $val;
// just in case the 2 arrays are not the same length
if ( isset($b[$key] ){
$results[] = $b[$key];
}
}
答案 1 :(得分:0)
据我所知,您想交替合并这两个数组吗?
$arr1 = array(1, 3, 5);
$arr2 = array(2, 4, 6);
$count = (count($arr1) <= count($arr2)) ? count($arr2) : count($arr1);
$new = array();
for ($i = 0; $i < $count; $i++)
{
if(array_key_exists($arr1[$i])
{
$new[] = $arr1[$i];
}
if(array_key_exists($arr2[$i])
{
$new[] = $arr2[$i];
}
}
因此它将替代地合并它,并且为了防止错误,它检查密钥是否存在。
答案 2 :(得分:-1)
选中此
<?php
$a = [1, 2, 3];
$b = [a, b, c];
$cntA = count($a);
$cntB = count($b);
$results = [];
$count = ($cntA <= $cntB) ? $cntB : $cntA;
for($i=0; $i < count; $i++)
{
if($cntA >= $i) $results[] = $a[$i];
if($cntB >= $i) $results[] = $b[$i];
}