Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Слияние массивов
Форумы портала PHP.SU » » Вопросы новичков » Слияние массивов

Страниц (1): [1]
 

1. Goncharov - 17 Августа, 2015 - 08:47:15 - перейти к сообщению
Доброго дня, уважаемые форумчане!

Вот и я напоролся на требующий помощи вопрос.
Сразу скажу, доку читал, но ясности мне это не внесло)

Итак, исходные данные:
есть 2 массива - array ("111111"=>"qqqqq") и array ("222222"=>"qqqqq")
Мне необходимо их слить в один массив вида array("111111"=>"qqqqq", "222222"=>"qqqqq")

функция array_merge($arr1, $arr2) возвращает массив array("111111"=>"qqqqq", "0"=>"qqqqq").

Объясните, пожалуйста, где ошибка и если не трудно направьте в направление как правильно сиё реализовать.
2. Dastor - 17 Августа, 2015 - 08:56:55 - перейти к сообщению
Попробуй + использовать.
В документации:

Цитата:
Если вы хотите дополнить первый массив элементами второго без перезаписи элементов первого массива и без переиндексации, используйте оператор объединения массивов +
3. Goncharov - 17 Августа, 2015 - 09:02:24 - перейти к сообщению
Спасибо огромное). Голова уже отказывается соображать. Почувствовал себя первоклассником)
4. Мелкий - 17 Августа, 2015 - 10:51:45 - перейти к сообщению
Блин, динамическая типизация.
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') ключ уже будет приведен к числу.

Хм, да, ваша правда.

 

Powered by ExBB FM 1.0 RC1