我试图使用array_replace_recursive递归合并两个数组。 这是代码:
$col = array();
$new = array_merge_recursive($col, array('table1' => array(1 => true)));
$new = array_merge_recursive($new, array('table1' => array(0 => false)));
$ new数组的转储是
array(1) { ["table1"]=> array(2) { [1]=> bool(true) [2]=> bool(false) } }
我需要保留“table1”数组的数字键。预期结果应为
array(1) { ["table1"]=> array(2) { [0]=> bool(false) [1]=> bool(true) } }
有人有解决方案吗?
答案 0 :(得分:0)
您可以切换参数的顺序
$new = array_merge_recursive(array(), array('table1' => array(0 => false)));
$new = array_merge_recursive($new, array('table1' => array(1 => true)));
您遇到的问题是您已经创建了一个密钥,因此后续调用将附加到数组的第一个元素。
答案 1 :(得分:0)
使用array_replace_recursive
代替array_merge_recursive
。