Php 从多维数组(包括字符串和laravel集合)中删除重复项

Php 从多维数组(包括字符串和laravel集合)中删除重复项,php,laravel,Php,Laravel,这是多维数组,有两列,一列是string,另一列是laravel集合模型 array:2 [▼ 0 => array:2 [▼ "email" => "myfirstemail@gmail.com" "user" => User {#2508 ▶} ] 1 => array:2 [▼ "email" => "myfirstemail@gmail.com" "user" => User {#2547 ▶} //lara

这是多维数组,有两列,一列是string,另一列是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
  ]
]
我用过,但它不适用于这个


我不想通过电子邮件删除重复的列(无需查看laravel用户模型)。是否有任何内置PHP函数用于此功能?

您可以使用laravel的
集合::unique
方法:

$unique = collect($yourArray)->unique('email');
通过将
电子邮件
传递到方法中,您告诉Laravel查看数据集中的特定字段,而不是整个数据。然后可以使用
toArray
将其转换回数组

$unique = collect($yourArray)->unique('email')->toArray();
您还可以向
unique
方法传递闭包,以允许您定义要对每个对象进行比较以确定唯一性的值:

$unique = collect($yourArray)->unique(function ($item) {
    return $item['email'];
});

@这家伙有两个大拇指对我不起作用。。