Php 数组替换和数组替换递归之间的区别

Php 数组替换和数组替换递归之间的区别,php,arrays,Php,Arrays,大家好,我很难理解php中这两个函数的区别array\u replace和array\u replace\u recursive array array_replace_recursive ( array $array1 , array $array2 [, array $... ] ) 及 提前感谢当数组中有数组时,会出现差异。从中,我们创建两个数组: $base = array('citrus' => array( "orange") , 'berrie

大家好,我很难理解php中这两个函数的区别
array\u replace
array\u replace\u recursive

array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )


提前感谢

当数组中有数组时,会出现差异。从中,我们创建两个数组:

$base = array('citrus' => array( "orange") , 
              'berries' => array("blackberry", "raspberry"), 
             );
$replacements = array('citrus' => array('pineapple'), 
                      'berries' => array('blueberry')
                );
如果我们这样做

$basket = array_replace($base, $replacements);
我们会得到

Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
    )

)
Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
        [1] => raspberry
    )

)
其中数组“blueberry”取代了数组“blackberry”、“raspberry”。如果我们这样做

$basket = array_replace_recursive($base, $replacements);
我们会得到

Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
    )

)
Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
        [1] => raspberry
    )

)

现在数组中的第一个元素“blueberry”已经取代了数组中的第一个元素“blackberry”、“raspberry”。因此,它是数组替换中的数组替换,或者是递归替换。

当数组中有数组时,就会出现差异。从中,我们创建两个数组:

$base = array('citrus' => array( "orange") , 
              'berries' => array("blackberry", "raspberry"), 
             );
$replacements = array('citrus' => array('pineapple'), 
                      'berries' => array('blueberry')
                );
如果我们这样做

$basket = array_replace($base, $replacements);
我们会得到

Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
    )

)
Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
        [1] => raspberry
    )

)
其中数组“blueberry”取代了数组“blackberry”、“raspberry”。如果我们这样做

$basket = array_replace_recursive($base, $replacements);
我们会得到

Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
    )

)
Array
(
[citrus] => Array
    (
        [0] => pineapple
    )

[berries] => Array
    (
        [0] => blueberry
        [1] => raspberry
    )

)
现在数组中的第一个元素“blueberry”已经取代了数组中的第一个元素“blackberry”、“raspberry”。所以它是数组替换中的数组替换,或者是递归替换。

你知道递归这个词是什么意思吗?基本上,如果你有多维数组,那么函数也会在子数组上执行,而不仅仅是在父数组上。看看例子#1,因为它显示了两个函数结果的差异。你知道递归这个词的意思吗?基本上,如果你有多维数组,那么函数也会在子数组上执行,而不仅仅是在父数组上执行