Задать вопрос

Как объеденить два массива в один по ключу?

Добрый день, прошу совета. Есть два массива, первый:

Array
(
    [0] => Array
        (
            [ID] => 9
            [NAME] => Выставка "Книжный мир - 2007"
            [IBLOCK_SECTION_ID] => 5
        )

    [1] => Array
        (
            [ID] => 12
            [NAME] => Выставка "Книги России"
            [IBLOCK_SECTION_ID] => 5
        )

    [2] => Array
        (
            [ID] => 14
            [NAME] => Выставка "PostPrint - 2007"
            [IBLOCK_SECTION_ID] => 5
        )

    [3] => Array
        (
            [ID] => 6
            [NAME] => Доставка книг
            [IBLOCK_SECTION_ID] => 6
        )

    [4] => Array
        (
            [ID] => 8
            [NAME] => Google отсканирует 30 млн книг
            [IBLOCK_SECTION_ID] => 6
        )

    [5] => Array
        (
            [ID] => 7
            [NAME] => Названы лучшие книги и издательства 2006 года
            [IBLOCK_SECTION_ID] => 7
        )

    [6] => Array
        (
            [ID] => 10
            [NAME] => Самые популярные авторы
            [IBLOCK_SECTION_ID] => 7
        )

    [7] => Array
        (
            [ID] => 13
            [NAME] => Российские писатели вошли в список молодых литературных талантов США
            [IBLOCK_SECTION_ID] => 7
        )

    [8] => Array
        (
            [ID] => 5
            [NAME] => Конкурс на лучшую рецензию
            [IBLOCK_SECTION_ID] => 8
        )

    [9] => Array
        (
            [ID] => 11
            [NAME] => Конкурс "Книга будущего"
            [IBLOCK_SECTION_ID] => 8
        )

)


Второй:

Array
(
    [0] => Array
        (
            [ID_GROUP] => 92
            [NAME] => Настройка продукта
            [IBLOCK_SECTION_ID] => 92
        )

    [1] => Array
        (
            [ID_GROUP] => 93
            [NAME] => Оформление и оплата заказа
            [IBLOCK_SECTION_ID] => 93
        )

    [2] => Array
        (
            [ID_GROUP] => 94
            [NAME] => Партнерская программа
            [IBLOCK_SECTION_ID] => 94
        )

    [3] => Array
        (
            [ID_GROUP] => 61
            [NAME] => Бизнес и Финансы
            [IBLOCK_SECTION_ID] => 61
        )

    [4] => Array
        (
            [ID_GROUP] => 66
            [NAME] => Дом и Семья
            [IBLOCK_SECTION_ID] => 66
        )

    [5] => Array
        (
            [ID_GROUP] => 70
            [NAME] => Наука и образование
            [IBLOCK_SECTION_ID] => 70
        )

    [6] => Array
        (
            [ID_GROUP] => 75
            [NAME] => Общество и Политика
            [IBLOCK_SECTION_ID] => 75
        )

    [7] => Array
        (
            [ID_GROUP] => 79
            [NAME] => Отдых и развлечения
            [IBLOCK_SECTION_ID] => 79
        )

    [8] => Array
        (
            [ID_GROUP] => 83
            [NAME] => СМИ
            [IBLOCK_SECTION_ID] => 83
        )

    [9] => Array
        (
            [ID_GROUP] => 87
            [NAME] => Товары и Услуги
            [IBLOCK_SECTION_ID] => 87
        )

    [10] => Array
        (
            [ID_GROUP] => 62
            [NAME] => Банки
            [IBLOCK_SECTION_ID] => 62
        )

)


Цель объединить в один по ключу IBLOCK_SECTION_ID, собственно вопрос кроме перебора может есть функция какая нибудь.
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 3
@adsprosto
$ar1 =[1,2,3];
$ar2 =[1,4,8,3];
$ar3 =['iblock_section_id' => [$ar1,$ar2];
echo $ar3['iblock_section_id'][0][0]; //1
Ответ написан
e_svirsky
@e_svirsky
Web Developer
Без перебора никак. В чём проблема пробежаться по массивам и создать результирующий из суммы этих двух?
Ответ написан
Voffkam
@Voffkam Автор вопроса
Пока вырисовывается вот такая конструкция:

foreach($all_Element as $elm) {
			
		  foreach($all_group as $grp) {
		  	
		  if ($elm['IBLOCK_SECTION_ID'] === $grp['ID_GROUP']) {		
			   $elm['GR'] = $grp['NAME'];
			}

		  }
 
		}


Только почему то всего один раз итерация проходит, буду дальше разбираться.

Array
(
    [ID] => 13
    [NAME] => Российские писатели вошли в список молодых литературных талантов США
    [IBLOCK_SECTION_ID] => 7
    [GR] => Книги и авторы
)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы