Hello guys, kembali kita di website santrikoding. Kemarin kita sudah membahas tentang collection, nah saat ini mari kita untuk mencoba fitur-fitur yang disediakan oleh collection. Mungkin pada pembahasan kali ini tidak semua akan kita bahas, namun setidak nya ini bisa menambah rasa penasaran untuk terus mengulik fitur collection laravel ini hihi...
Oke langsung saja kita let's go!
Let's drive!
All
Metode pertama ini adalah All, yak betul dari nama nya saja kita sudah tau bahwa fitur ini untuk melihat seluruh array. Contoh kode nya sebagai berikut
$array = collect([1, 2, 3])->all();
// [1, 2, 3]
Average
Sesuai dengan nama nya, fungsi / fitur ini untuk mencari nilai rata-rata dari sebuah array. Kita bisa lihat contoh kode nya dibawah
$array = \collect([1, 2, 3, 4, 5]);
return $array->avg();
// atau
return $array->average();
// Hasil nya
// 3
Yak betul, kita bisa menggunakan avg/average untuk mencari nilai rata-rata dari array
Chunk
Chunk, terdengar asing seperti nya ya, namun fitur chunk ini sangat powerfull guys. Chunk adalah fitur collection untuk memecah array menjadi beberapa bagian sesuai yang kita tentukan, kita bisa lihat contoh dibawah
$collection = collect([1, 2, 3, 4, 5, 6, 7]);
$chunks = $collection->chunk(4);
$chunks->all();
// Hasil
// [[1, 2, 3, 4], [5, 6, 7]]
Bisa kita lihat, array 1,2,3,4 dst adalah satu array, dengan method chunk kita bisa memecah array menjadi beberapa bagian sesuai dengan yang kita tentukan.
Collapse
Nah collapse ini kebalikan dari chunk ya ges ya. Kalau chunk dari 1 array menjadi beberapa array, sedangkan collapse ini dari beberapa array digabungkan menjadi 1. Kita bisa lihat contoh dibawah ini
$collection = collect([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]);
$collapsed = $collection->collapse();
$collapsed->all();
// Hasil
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
Combine
Fitur combine ini, akan menggabungkan 2 array dan hasilnya akan menjadi associative array. Dimana array pertama akan menjadi key, array kedua akan menjadi value nya. Kita bisa lihat contoh dibawah
$collection = collect(['name', 'age']);
$combined = $collection->combine(['George', 29]);
$combined->all();
// Hasil
// ['name' => 'George', 'age' => 29]
Count
Yak betul, sesuai nama nya, count ini adalah fitur untuk menghitung jumlah array. Contoh bisa dilihat pada kode berikut
$collection = collect([1, 2, 3, 4]);
$collection->count();
// Hasil
// 4
Each
Fitur each ini sebenarnya sama seperti foreach. Jadi dalam fitur each ini, kita bisa melihat isi array nya satu persatu. Perhatikan contoh kode dibawah
$collection = collect(["Mohammad", "Ricky", "Sanjaya"]);
$collection->each(function($item) {
return $item;
});
// Hasil
// "Mohammad", "Ricky", "Sanjaya"
Parameter each ini adalah sebuah callback function / setiap array ini akan kita apakan nanti nya.
Filter
Yak sesuai nama nya, filter ini berfungsi untuk memfilter isi array dan akan membuat array baru. Kita bisa lihat contoh kode berikut
$collection = collect([1, 2, 3, 4]);
$filtered = $collection->filter(function ($value, $key) {
return $value > 2;
});
$filtered->all();
// Hasil
// [3, 4]
Parameter pada filter ini lagi-lagi menggunakan callback function, dimana parameter callback ini ada 2, pertama adalah $value dan yang kedua adalah $key. Pada kode diatas, kita memfilter isi array yang lebih dari 2, sehingga hasilnya akan menghilangkan nilai-nilai yang kurang dari 2.
Map
Map adalah fungsi untuk memanipulasi data array dan membuat sebuah array baru. Kita lihat contoh dibawah
$collection = collect([1, 2, 3, 4, 5]);
$multiplied = $collection->map(function ($item, $key) {
return $item * 2;
});
$multiplied->all();
// Hasil
// [2, 4, 6, 8, 10]
Pada contoh diatas, data array kita 1,2,3 dst. akan kita manipulasi dengan tiap array akan dikalikan 2, sehingga akan terbentuk array baru yang dimana isi array adalah hasil dari array sebelumnya dikalikan 2, dan lagi-lagi parameter pada map ini berupa callback function
Unique
Unique adalah fitur collection untuk menghilangkan array yang duplikasi. Contoh nya ada pada kode berikut
$collection = collect([1, 1, 2, 2, 3, 4, 2]);
$unique = $collection->unique();
$unique->values()->all();
// Hasil
// [1, 2, 3, 4]
Kesimpulan
Yak mungkin segitulah beberapa fitur collection yang kita bahas, sebenarnya masih sangat banyak sekali fitur dari collection ini, namun karena keterbatasan waktu, maka kita membahas fitur-fitur yang mungkin akan sering dipakai teman-teman ya. Selengkap nya teman-teman dapat melihat pada dokumentasi resmi laravel atau bisa dengan klik link ini
Oke teman-teman, berakhir sudah series kita dalam belajar Laravel collection ini. Semoga tutorial ini dapat membantu sobat agar lebih gercep lagi dalam membangun aplikasi ya:D. Oke kita berjumpa pada series berikutnyaa!