Php 数组替换和数组替换递归之间的区别
大家好,我很难理解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
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,因为它显示了两个函数结果的差异。你知道递归这个词的意思吗?基本上,如果你有多维数组,那么函数也会在子数组上执行,而不仅仅是在父数组上执行