php多维数组的值如何合并到一起

20次阅读
没有评论

要合并php多维数组的值,可以使用递归函数来实现。以下是一个示例代码:

<?php
function mergeArrays($arrays) {
    $result = array();

    foreach ($arrays as $array) {
        foreach ($array as $key => $value) {
            if (is_array($value)) {
                $result[$key] = isset($result[$key]) && is_array($result[$key]) ? mergeArrays(array($result[$key], $value)) : $value;
            } else {
                $result[$key] = isset($result[$key]) ? array_merge((array) $result[$key], (array) $value) : $value;
            }
        }
    }

    return $result;
}

$array1 = array(
    'a' => array(
        'b' => 'value1',
        'c' => 'value2'
    ),
    'd' => array(
        'e' => 'value3'
    )
);

$array2 = array(
    'a' => array(
        'b' => 'value4'
    ),
    'f' => 'value5'
);

$mergedArray = mergeArrays(array($array1, $array2));
print_r($mergedArray);
?>

输出结果:

Array
(
    [a] => Array
        (
            [b] => value4
            [c] => value2
        )

    [d] => Array
        (
            [e] => value3
        )

    [f] => value5
)

在上面的示例中,我们定义了一个`mergeArrays`函数来合并多维数组的值。该函数遍历每个数组,并将其值合并到最终结果数组`$result`中。如果值本身是一个数组,则递归调用`mergeArrays`函数来合并其值。如果值是一个标量值,则使用`array_merge`函数将其合并到结果数组中。

这样,我们可以将多个多维数组的值合并到一起,并得到一个新的多维数组。

正文完
 
评论(没有评论)