За последние 24 часа нас посетил 36741 программист и 1810 роботов. Сейчас ищут 884 программиста ...

Отфильтровать многомерный массив

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

  1. smartCreate

    smartCreate Новичок

    С нами с:
    4 ноя 2016
    Сообщения:
    122
    Симпатии:
    4
    Добрый день, есть вот такой многомерный массив:

    PHP:
    1. [
    2.      [
    3.           [name] => 'abc',
    4.           [value] => '123',
    5.      ]
    6.      [
    7.           [name] => 'qwe',
    8.           [value] => '123',
    9.      ]
    10.      [
    11.           [name] => 'abc',
    12.           [value] => '456',
    13.      ]
    14.      [
    15.           [name] => 'qwe',
    16.           [value] => '456',
    17.      ]
    18.      // и т.д.
    19. ]
    При наличии одинаковых полей [name], нужно удалить весь массив в котором он находится, что бы остались только массивы с уникальным [name].

    Подскажите пожалуйста, каким образом это можно реализовать.
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Переписать во второй массив, имя использовать как ключ:
    PHP:
    1. $a = [["name" =>"a", "value"=>124], ["name" =>"b", "value"=>125], ["name" =>"a", "value"=>138]];
    2. $b = [];
    3. foreach ($a as $aa) {
    4.    if (!isset($b[$aa["name"]])) {
    5.        $b[$aa["name"]] = $aa;
    6.    }
    7. }