溫馨提示×

php arraymerge怎樣處理嵌套結構

PHP
小樊
96
2024-12-09 23:16:32
欄目: 編程語言

在 PHP 中,array_merge() 函數用于合并兩個或多個數組。但是,這個函數不能直接處理嵌套的數組結構。要合并嵌套數組,你需要使用遞歸函數來遍歷數組的每個元素并合并它們。

下面是一個示例函數,用于合并嵌套數組:

function merge_nested_arrays($array1, $array2) {
    $result = $array1;

    foreach ($array2 as $key => $value) {
        if (is_array($value) && isset($result[$key]) && is_array($result[$key])) {
            $result[$key] = merge_nested_arrays($result[$key], $value);
        } else {
            $result[$key] = $value;
        }
    }

    return $result;
}

// 示例數組
$array1 = [
    'a' => 1,
    'b' => [
        'c' => 2,
        'd' => [
            'e' => 3
        ]
    ]
];

$array2 = [
    'a' => 10,
    'b' => [
        'c' => 20,
        'd' => [
            'f' => 30
        ],
        'g' => 40
    ]
];

// 合并數組
$mergedArray = merge_nested_arrays($array1, $array2);

// 輸出結果
print_r($mergedArray);

這個 merge_nested_arrays 函數會遞歸地遍歷數組的每個元素,如果遇到嵌套數組,它會調用自身來合并這些嵌套數組。最后,它返回合并后的數組。

在這個示例中,$mergedArray 將包含以下結構:

Array
(
    [a] => 10
    [b] => Array
        (
            [c] => 20
            [d] => Array
                (
                    [e] => 3
                    [f] => 30
                )

            [g] => 40
        )

)

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女