Доброго дня, уважаемые форумчане!
Вот и я напоролся на требующий помощи вопрос.
Сразу скажу, доку читал, но ясности мне это не внесло)
Итак, исходные данные:
есть 2 массива - array ("111111"=>"qqqqq") и array ("222222"=>"qqqqq")
Мне необходимо их слить в один массив вида array("111111"=>"qqqqq", "222222"=>"qqqqq")
функция array_merge($arr1, $arr2) возвращает массив array("111111"=>"qqqqq", "0"=>"qqqqq").
Объясните, пожалуйста, где ошибка и если не трудно направьте в направление как правильно сиё реализовать.
1. Goncharov - 17 Августа, 2015 - 08:47:15 - перейти к сообщению
2. Dastor - 17 Августа, 2015 - 08:56:55 - перейти к сообщению
Попробуй + использовать.
В документации:
В документации:
Цитата:
Если вы хотите дополнить первый массив элементами второго без перезаписи элементов первого массива и без переиндексации, используйте оператор объединения массивов +
3. Goncharov - 17 Августа, 2015 - 09:02:24 - перейти к сообщению
Спасибо огромное). Голова уже отказывается соображать. Почувствовал себя первоклассником)
4. Мелкий - 17 Августа, 2015 - 10:51:45 - перейти к сообщению
Блин, динамическая типизация.
array_merge считает, что у вас числовые ключи и ведёт себя соответственно этому:
Оператор +, кстати, тоже приводит ваши ключи к числовым значениям.
array_merge считает, что у вас числовые ключи и ведёт себя соответственно этому:
Цитата:
Values in the input array with numeric keys will be renumbered with incrementing keys starting from zero in the result array.
Оператор +, кстати, тоже приводит ваши ключи к числовым значениям.
5. Dastor - 17 Августа, 2015 - 11:35:10 - перейти к сообщению
Мелкий пишет:
Оператор +, кстати, тоже приводит ваши ключи к числовым значениям.
Оператор +, кстати, тоже приводит ваши ключи к числовым значениям.
Ну как бы при создании массива array('111111'=>'qqqq') ключ уже будет приведен к числу.
6. Мелкий - 17 Августа, 2015 - 11:43:13 - перейти к сообщению
Dastor пишет:
Ну как бы при создании массива array('111111'=>'qqqq') ключ уже будет приведен к числу.
Хм, да, ваша правда.