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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Слияние массивов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: array_merge()
Goncharov
Отправлено: 17 Августа, 2015 - 08:47:15
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




Доброго дня, уважаемые форумчане!

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

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

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

Объясните, пожалуйста, где ошибка и если не трудно направьте в направление как правильно сиё реализовать.
 
 Top
Dastor
Отправлено: 17 Августа, 2015 - 08:56:55
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




Попробуй + использовать.
В документации:

Цитата:
Если вы хотите дополнить первый массив элементами второго без перезаписи элементов первого массива и без переиндексации, используйте оператор объединения массивов +
 
 Top
Goncharov
Отправлено: 17 Августа, 2015 - 09:02:24
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




Спасибо огромное). Голова уже отказывается соображать. Почувствовал себя первоклассником)
 
 Top
Мелкий Супермодератор
Отправлено: 17 Августа, 2015 - 10:51:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Блин, динамическая типизация.
array_merge считает, что у вас числовые ключи и ведёт себя соответственно этому:
Цитата:
Values in the input array with numeric keys will be renumbered with incrementing keys starting from zero in the result array.

Оператор +, кстати, тоже приводит ваши ключи к числовым значениям.


-----
PostgreSQL DBA
 
 Top
Dastor
Отправлено: 17 Августа, 2015 - 11:35:10
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Окт. 2014  


Помог: 3 раз(а)




Мелкий пишет:

Оператор +, кстати, тоже приводит ваши ключи к числовым значениям.


Ну как бы при создании массива array('111111'=>'qqqq') ключ уже будет приведен к числу.
 
 Top
Мелкий Супермодератор
Отправлено: 17 Августа, 2015 - 11:43:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Dastor пишет:
Ну как бы при создании массива array('111111'=>'qqqq') ключ уже будет приведен к числу.

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


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB