这是多维数组,其中两列是字符串,另一列是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 multi-dimensional array remove duplicate并且它不会为此工作。
我不想通过电子邮件删除重复的列(无需查看laravel 用户模型。)是否有内置的PHP函数?
答案 0 :(得分:1)
您可以使用Laravel的Collection::unique
方法:
$unique = collect($yourArray)->unique('email');
通过将email
传入方法,您告诉Laravel查看数据集中的特定字段,而不是整个数据。然后,您可以使用toArray
将其转换回数组。
$unique = collect($yourArray)->unique('email')->toArray();
您还可以将闭包传递给unique
方法,以允许您定义要为每个对象进行比较的值,以确定唯一性:
$unique = collect($yourArray)->unique(function ($item) {
return $item['email'];
});