将PHP数组组合为某种东西


Combine PHP array as something

我有两个数组:

$arr1= array("A","B","C");
$arr2= array("1","2","3");

输出我需要作为:

$arr3= array("A","1","B","2","C","3");

有人能帮忙吗?

如果前两个数组的长度相同,可以使用循环来获得所需的数组:

<?PHP
$arr1= array("A","B","C");
$arr2= array("1","2","3");
$arr3=[];
for($i = 0; $i < count($arr1); $i++)
    array_push($arr3, $arr1[$i], $arr2[$i]);
?>

它将返回:

$arr3=数组("A"、"1"、"B"、"2"、"C"、"3")

看看array_merge()

array_merge ( array $array1 [, array $... ] )

将一个或多个数组的元素合并在一起,以便值的一个附加到前一个的末尾。它返回得到的阵列。

如果输入数组具有相同的字符串键,则后面的值因为该键将覆盖上一个。但是,如果数组包含数字键,以后的值不会覆盖原始值值,但将被追加。

这将把两个数组组合在一起:

$output = $array1 + $array2;

如果数组长度不相等,这个片段也可以解决您的问题。

function array_interpolation($arr1, $arr2) {
    $result = array();
    $len1 = count($arr1);
    $len2 = count($arr2);
    $maxlen = max($len1, $len2);
    for($i = 0; $i < $maxlen; $i++) {
        if($i < $len1) {
            array_push($result, $arr1[$i]);
        }
        if($i < $len2) {
            array_push($result, $arr2[$i]);
        }
    }
    return $result;
}