Я пытаюсь рекурсивно объединить два массива с помощью 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) } }
У кого-нибудь есть решение для этого?
использование array_replace_recursive
вместо array_merge_recursive
,
Вы можете изменить порядок своих аргументов
$new = array_merge_recursive(array(), array('table1' => array(0 => false)));
$new = array_merge_recursive($new, array('table1' => array(1 => true)));
Проблема, с которой вы сталкиваетесь, заключается в том, что вы уже создали ключ, поэтому последующие вызовы будут добавляться к первому элементу массива.