Удалите дубликаты из многомерного массива, который включает коллекцию строк и текстов - PullRequest
0 голосов
/ 12 июня 2018

Это многомерный массив, и в нем есть два столбца, один из которых является строкой, а другой - моделью коллекции laravel.

array:2 [▼
  0 => array:2 [▼
    "email" => "myfirstemail@gmail.com"
    "user" => User {#2508 ▶}
  ]
  1 => array:2 [▼
    "email" => "myfirstemail@gmail.com"
    "user" => User {#2547 ▶} //laravel collection
  ]
]

Я использовал многомерный массив php, удаляю дубликат , и он выигралэто не сработает.

Я не хочу удалять дубликаты столбцов по электронной почте (не нужно смотреть на модель laravel user .) Есть ли для этого встроенная функция PHP?

1 Ответ

0 голосов
/ 12 июня 2018

Вы можете использовать метод Collection::unique Laravel:

$unique = collect($yourArray)->unique('email');

Передав email в метод, вы говорите Laravel посмотреть на это конкретное поле в вашемнабор данных, а не данные в целом.Затем вы можете преобразовать его обратно в массив, используя toArray.

$unique = collect($yourArray)->unique('email')->toArray();

. Вы также можете передать замыкание в метод unique, чтобы определить значение, которое вы хотите сравнить для каждого объекта.определить уникальность:

$unique = collect($yourArray)->unique(function ($item) {
    return $item['email'];
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...