Laravel remove duplicate values from collection. how to make array_unique in laravel collection with example. In this example we show delete duplicate values from laravel collection.
Remove duplicate values from multi-dimensional array. Also, see how to make a multi-dimension array unique by multiple columns.
Laravel example of make unique collection
We use unique() method for remove duplicate values from collection see in example
public function index() { $numbers = collect([5,5,6,7,2,5,6,4,3]); $uniqueNumbers = $numbers->unique(); dd($uniqueNumbers); // or print in index order dd($uniqueNumbers->values()); }
Laravel make multi dimensional collection unique
When you want to make multimensional array or collection unique pass key name in unique method
public function index() { $myCollection = collect([ ['id'=>1, 'name'=>'Anmol', 'country'=>'India'], ['id'=>2, 'name'=>'Krishan', 'country'=>'India'], ['id'=>3, 'name'=>'Alok', 'country'=>'US'], ['id'=>3, 'name'=>'Aniket', 'country'=>'US'], ['id'=>4, 'name'=>'Advanced', 'country'=>'UK'] ]); $uniqueCollection = $myCollection->unique('country'); dd($uniqueCollection); // or print in index order dd($uniqueCollection->values()); }
Read Also : Laravel nested relationship with eager loading
Laravel make multi dimensional collection unique by multiple columns
public function index() { $myCollection = collect([ ['id'=>1, 'name'=>'Anmol', 'country'=>'India'], ['id'=>2, 'name'=>'Krishan', 'country'=>'India'], ['id'=>3, 'name'=>'Alok', 'country'=>'US'], ['id'=>3, 'name'=>'Aniket', 'country'=>'US'], ['id'=>4, 'name'=>'Advanced', 'country'=>'UK'] ]); $uniqueCollection = $myCollection->unique(function ($item) { return $item['country'].$item['name']; }); dd($uniqueCollection); // or print in index order dd($uniqueCollection->values()); }