За последние 24 часа нас посетили 22960 программистов и 1216 роботов. Сейчас ищут 711 программистов ...

Слияние многомерных массивов

Тема в разделе "PHP для новичков", создана пользователем kot_k_k, 23 сен 2014.

  1. kot_k_k

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

    С нами с:
    22 июл 2014
    Сообщения:
    46
    Симпатии:
    1
    Добавить столбцы в многомерный массив из другого массива.
    есть массивы
    Код (Text):
    1.  
    2. $array = array(array(25, маша, оля, валя),
    3.                array(70,дима, миша, саша),
    4.                array(25,жора, сима, витя))
    5.  
    6. $array2 = array(array(25, 2, 3),
    7.                 array(70, 90, 900))
    можно без особого геморра (переборы и вложенные циклы) получить следующий массив

    Код (Text):
    1.  
    2. $array3=array(array(25,маша, оля, валя, 2, 3),
    3.               array(70,дима, миша, саша, 90, 900),
    4.               array(25,жора, сима, витя, 2, 3)
    функция array_replace - не подходит, т.к. она заменяет поля, а надо добавить.
    если это сделать SQL выглядело бы так
    Код (Text):
    1. select t.pole1, t.pole2, T_1.pole1, T_1.pole2 from t, T_1 where t.pole0=T_1.pole0
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Без перебора - пожалуй, нет
    Код (PHP):
    1. foreach ($array2 as $item) $add[$item[0]] = array_slice($item, 1);
    2. foreach ($array1 as &$item)  {
    3.    if ($add[$item[0]])
    4.       $item = array_merge($item, $add[$item[0]]);
    5. }