@siroper

Как удалить дубли в массиве по ключу?

Имеется массив:

Array
(
    [0] => stdClass Object
        (
            [id] => 84
            [product_id] => 48
            [price] => 277.00
            [compare_price] => 300.00
            [name] => Синий
        )

    [1] => stdClass Object
        (
            [id] => 58
            [product_id] => 43
            [price] => 277.00
            [compare_price] => 1233.00
            [name] => Черный
        )

    [2] => stdClass Object
        (
            [id] => 85
            [product_id] => 48
            [price] => 277.00
            [compare_price] => 413.00
            [name] => Малахитовый
        )

    [3] => stdClass Object
        (
            [id] => 54
            [product_id] => 43
            [price] => 277.00
            [compare_price] => 300.00
            [name] => Синий
        )

    [4] => stdClass Object
        (
            [id] => 86
            [product_id] => 48
            [price] => 277.00
            [compare_price] => 
            [name] => Малахитовый
        )

    [5] => stdClass Object
        (
            [id] => 55
            [product_id] => 43
            [price] => 277.00
            [compare_price] => 413.00
            [name] => Малахитовый
        )
)

Собирается массив достаточно сложно, из всех продуктов по фильтрации и т.д. Т.е. на момент создания массива - убирать дубли вариант не рассматриваем.

Никак не могу убрать дубли по ключу [name] в готовом массиве, чтобы на выходе не изменяя структуры осталось только 3 позиции с [name] = Малахитовый, Синий, Черный.
  • Вопрос задан
  • 642 просмотра
Решения вопроса 1
0xD34F
@0xD34F
$unique = [];

foreach ($arr as $n) {
  $unique[$n->name] = $n;
}

$unique = array_values($unique);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы