PHPで配列のマージを確認してみる

PHPで配列のマージを確認してみる。


まずは配列をマージしてみる。

<?php
$var1 = array('', '');
$var2 = array('', '');

print_r($var1 + $var2);
print_r(array_merge($var1, $var2));
Array
(
    [0] => ○
    [1] => △
)
Array
(
    [0] => ○
    [1] => △
    [2] => △
    [3] => □
)

下記のようにしても結果は同様。

<?php
$var1 = array(0 => '', 1 => '');
$var2 = array(0 => '', 1 => '');

print_r($var1 + $var2);
print_r(array_merge($var1, $var2));
Array
(
    [0] => ○
    [1] => △
)
Array
(
    [0] => ○
    [1] => △
    [2] => △
    [3] => □
)

連想配列の場合は下記のような結果になる。

<?php
$var1 = array('a' => '', 'b' => '');
$var2 = array('a' => '', 'b' => '');

print_r($var1 + $var2);
print_r(array_merge($var1, $var2));
Array
(
    [a] => ○
    [b] => △
)
Array
(
    [a] => △
    [b] => □
)

array_merge_recursive

array_merge_recursiveも試してみる。

<?php
$var1 = array('A' => '', 'B' => array('', ''), 'C' => array('a' => '', 'b' => ''));
$var2 = array('A' => '', 'B' => array('', ''), 'C' => array('a' => '', 'b' => ''));
print_r(array_merge_recursive($var1, $var2));
Array
(
    [A] => Array
        (
            [0] => □
            [1] => □
        )

    [B] => Array
        (
            [0] => ○
            [1] => △
            [2] => △
            [3] => □
        )

    [C] => Array
        (
            [a] => Array
                (
                    [0] => ○
                    [1] => △
                )

            [b] => Array
                (
                    [0] => △
                    [1] => □
                )

        )

)

配列の場合は下記のような結果になる。

<?php
$var1 = array(0 => '', 1 => array('', ''), 2 => array('a' => '', 'b' => ''));
$var2 = array(0 => '', 1 => array('', ''), 2 => array('a' => '', 'b' => ''));
print_r(array_merge_recursive($var1, $var2));
Array
(
    [0] =>
    [1] => Array
        (
            [0] =>
            [1] =>
        )

    [2] => Array
        (
            [a] =>
            [b] =>
        )

    [3] =>
    [4] => Array
        (
            [0] =>
            [1] =>
        )

    [5] => Array
        (
            [a] =>
            [b] =>
        )

)