您好我很难理解php array_replace
和array_replace_recursive
中这两个函数之间的区别。
array array_replace_recursive ( array $array1 , array $array2 [, array $... ] )
和
array array_replace ( array $array1 , array $array2 [, array $... ] )
并提前致谢
答案 0 :(得分:4)
当数组中有数组时会出现差异。从here开始,让我们创建两个数组:
$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
)
)
数组“blueberry”已经取代了数组“blackberry”,“raspberry”。如果我们做了
$basket = array_replace_recursive($base, $replacements);
我们会得到
Array
(
[citrus] => Array
(
[0] => pineapple
)
[berries] => Array
(
[0] => blueberry
[1] => raspberry
)
)
现在数组“blueberry”中的第一个元素已经替换了数组“blackberry”,“raspberry”中的第一个元素。所以它是数组替换中的数组替换,或者是递归替换。