我需要一个自定义array_replace_recursive($array, $array1)
方法来执行原始array_replace_recursive($array, $array1)
方法的功能,除了索引数组它应该使用第二个数组中的数组并递归地覆盖第一个数组。
例子:
$a = array (
'a' => array(1,2,3),
'b' => array('a' => 1, 'b' => 2, 'c' => 3)
);
$b = array (
'a' => array(4),
'b' => array('d' => 1, 'e' => 2, 'f' => 3)
);
$c = array_replace_recursive($a, $b);
当前行为:
$c = array (
'a' => array(4,2,3),
'b' => array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 1, 'e' => 2, 'f' => 3)
);
期望的行为:
$c = array (
'a' => array(4),
'b' => array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 1, 'e' => 2, 'f' => 3)
);
如您所见,元素“a”是一个索引数组,因此第二个数组中的元素覆盖了第一个数组中的元素。元素“b”是一个关联数组,因此它保持原始行为。