Объединить или объединить ассоциативный массив потомков - PullRequest
0 голосов
/ 06 января 2012

У меня есть ассоциативный массив, который я хотел бы объединить (объединить).Фактический код:

Array
(
    [0] => Array
        (
            [Id_Usager] => 291
            [etat_lundi] => livree
            [Date_lundi] => 2011-12-26
            [etat_mardi] => livree
            [Date_mardi] => 2011-12-27
            [etat_mercredi] => livree
            [Date_mercredi] => 2011-12-28
            [etat_jeudi] => livree
            [Date_jeudi] => 2011-12-29
            [etat_vendredi] => livree
            [Date_vendredi] => 2011-12-30
            [etat_samedi] => livree
            [Date_samedi] => 2011-12-31
            [etat_dimanche] => livree
            [Date_dimanche] => 2012-01-01
        )

    [1] => Array
        (
            [Id_Usager] => 291
            [etat_lundi] => livree
            [Date_lundi] => 2012-01-02
            [etat_mardi] => livree
            [Date_mardi] => 2012-01-03
            [etat_mercredi] => en_cours
            [Date_mercredi] => 2012-01-04
            [etat_jeudi] => en_cours
            [Date_jeudi] => 2012-01-05
            [etat_vendredi] => en_cours
            [Date_vendredi] => 2012-01-06
            [etat_samedi] => en_cours
            [Date_samedi] => 2012-01-07
            [etat_dimanche] => en_cours
            [Date_dimanche] => 2012-01-08
        )

)

В конце я хочу получить следующее:

  1. Снять первый элемент (Id_Usager)
  2. Слить подмассив вone
  3. Compat пары, перемещая etat значение ([etat_lundi] => <b>livree</b>) как Date ключ ([Date_lundi] => <b>2012-01-02</b>)

Полученный массив, который я хочу получить, будет таким:

Array(
    [0] => Array(
        [livree] => 2011-12-26
        [livree] => 2011-12-27
        [livree] => 2011-12-28
        [livree] => 2011-12-29
        [livree] => 2011-12-30
        [livree] => 2011-12-31
        [livree] => 2012-01-01
        [livree] => 2012-01-02
        [livree] => 2012-01-03
        [en_cours] => 2012-01-04
        [en_cours] => 2012-01-05
        [en_cours] => 2012-01-06
        [en_cours] => 2012-01-07
        [en_cours] => 2012-01-08
    )
)

Как мне это сделать?

1 Ответ

2 голосов
/ 06 января 2012

array_merge()

В вашем случае:

$new_data = array_merge($data[0], $data[1]);

Обратите внимание, что для документов:

Если входные массивыЕсли у вас те же строковые ключи, то более позднее значение для этого ключа будет перезаписывать предыдущее.

Из ваших примеров данных видно, что у вас есть дубликаты имен ключей (что невозможно, как отмечено Бен Д ).Тем не менее, они содержат одинаковое значение.Так что вы должны быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...