За последние 24 часа нас посетили 17476 программистов и 1720 роботов. Сейчас ищут 856 программистов ...

Преобразовать один массив в другой, сруппировав по значению поля

Тема в разделе "PHP для новичков", создана пользователем Sigizmund, 28 окт 2018.

  1. Sigizmund

    Sigizmund Активный пользователь

    С нами с:
    14 июн 2016
    Сообщения:
    37
    Симпатии:
    2
    Адрес:
    Жопа мира
    Здравствуйте.
    Есть массив:
    Код (Text):
    1.  
    2. array(3)
    3. 0: array(7)
    4.    attribute_id: "14"
    5.    attribute_group_id: "7"
    6.    attribute_name: "Пятна"
    7.    attribute_group_name: "Проблема"
    8.    display_mode: "on"
    9.    type: "multi"
    10.    values: array(1)
    11. 1: array(7)
    12.    attribute_id: "16"
    13.    attribute_group_id: "8"
    14.    attribute_name: "Витамин C"
    15.    attribute_group_name: "Активные ингредиенты"
    16.    display_mode: "on"
    17.    type: "single"
    18.    values: array(2)
    19. 2: array(7)
    20.    attribute_id: "17"
    21.    attribute_group_id: "8"
    22.    attribute_name: "Витамин Е"
    23.    attribute_group_name: "Активные ингредиенты"
    24.    display_mode: "on"
    25.    type: "single"
    26.    values: array(1)
    Надо преобразовать его в такой:
    Код (Text):
    1. array(2)
    2. 0: array(3)
    3.     attribute_group_id: "7"
    4.     attribute_group_name: "Проблема"
    5.     attributes: array(1)
    6.         0: array(5)
    7.             attribute_id: "14"
    8.             attribute_name: "Пятна"
    9.             display_mode: "on"
    10.             type: "multi"
    11.             values: array(1)
    12. 1: array(3)
    13.     attribute_group_id: "8"
    14.     attribute_group_name: "Активные ингредиенты"
    15.     attributes: array(2)
    16.         0: array(5)
    17.             attribute_id: "17"
    18.             attribute_name: "Витамин Е"
    19.             display_mode: "on"
    20.             type: "single"
    21.             values: array(1)
    22.         1: array(5)
    23.             attribute_id: "16"
    24.             attribute_name: "Витамин C"
    25.             display_mode: "on"
    26.             type: "single"
    27.             values: array(2)
    Надо обойти первый массив и если attribute_group_id совпадает, то поместить пары ключ-значение, не относящиеся к attribute_group в отдельный массив и поместить его в массив attributes в группе.