За последние 24 часа нас посетили 43837 программистов и 1731 робот. Сейчас ищут 1136 программистов ...

2 массива в один без повторений

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

  1. iamopk

    iamopk Новичок

    С нами с:
    12 апр 2014
    Сообщения:
    14
    Симпатии:
    0
    Всем привет.
    1.Как создать из двух двумерных массивов один, и чтобы они не повторялись, по одному из параметров допустим 'name'. получиться тоже должен двумерный. мозг себе порвал(((

    первый массив
    $array1[0]= (name=>"aaa" , ...);
    $array1[1]= (name=>"bbb" , ...);
    $array1[2]= (name=>"ccc" , ...);
    $array1[3]= (name=>"ddd" , ...);
    второй массив
    $array2[0]= (name=>"aaa" , ...);
    $array2[1]= (name=>"ссс" , ...);
    $array2[2]= (name=>"ddd" , ...);
    $array2[3]= (name=>"fff" , ...);

    итогом должен быть третий массив

    $array3[0]= (name=>"aaa" , ...);
    $array3[1]= (name=>"bbb" , ...);
    $array3[2]= (name=>"ccc" , ...);
    $array3[3]= (name=>"ddd" , ...);
    $array3[4]= (name=>"fff" , ...);
    ___________________________________________________________
    2.И как это делается если эти массивы будут ассоциативные. и уже не по параметру name происходит отбор, а по ключу, который совпадает с name
    первый массив
    $array1[aaa]= (name=>"aaa" , ...);
    $array1[bbb]= (name=>"bbb" , ...);
    $array1[ccc]= (name=>"ccc" , ...);
    $array1[ddd]= (name=>"ddd" , ...);
    второй массив
    $array2[aaa]= (name=>"aaa" , ...);
    $array2[ссс]= (name=>"ссс" , ...);
    $array2[ddd]= (name=>"ddd" , ...);
    $array2[fff]= (name=>"fff" , ...);

    итогом должен быть третий массив

    $array3[aaa]= (name=>"aaa" , ...);
    $array3[bbb]= (name=>"bbb" , ...);
    $array3[ccc]= (name=>"ccc" , ...);
    $array3[ddd]= (name=>"ddd" , ...);
    $array3[fff]= (name=>"fff" , ...);
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ты в курсе про функцию array_replace_recursive ? если да, то чем она не устроила?

    Добавлено спустя 1 минуту 54 секунды:
    оффтопик: в PHP все массивы ассоциативные, просто некоторые из них не имеют не-цифровых ключей, устроены они одинаково в любом случае.
     
  3. BlackScorp

    BlackScorp Новичок

    С нами с:
    16 апр 2014
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Germany
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    BlackScorp, не то. ему надо объединить массивы. к тому же array_unique справляется только с одним измерением.
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну дык у него ответ в вопросе. в чем затык?
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    а может и ни в чем. товарищь просто задал вопрос и ушел. обычное дело, фигли.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ну походу допёр после изложения в письменном виде. оно так и хорошо.
     
  8. BlackScorp

    BlackScorp Новичок

    С нами с:
    16 апр 2014
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Germany
    http://ru2.php.%6eet/manual/en/function.array-unique.php#61179

    почемуто, все смотрят в документацыю но не кто не четает коменатры

    EDIT:
    а здесь в форуме они отклученные
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    при формировании массива с такими ключами он полюбас будет без повторений.
     
  10. iamopk

    iamopk Новичок

    С нами с:
    12 апр 2014
    Сообщения:
    14
    Симпатии:
    0
    да.допер. в моем случае рекурсии не понадобилось, но спасибо за подсказку. обошолся array_merge предварительно сделав ассоциативными эти массивы как я описал во втором варианте. Спасибо