Menghitung dan menghapus nilai duplikat pada array
Tutorial Kali ini kita akan Membahas Cara Menghitung Array dan menghapus Nilai Duplikat pada Array dengan PHP, Kalo bicara masalah array, mesti pikiran saya glumet,, hahah,, itu dulu, tapi setelah dipelajari, ternyata array itu menyenangkan, OK.. back to point, Untuk Menghitung jumlah array dan menghapus data yang sama pada array, Dalam kasus ini misalkan kita memiliki array yang sangat banyak / panjang, dan didalamnya terdapat beberapa item yang memiliki nilai yang sama / duplikat. Kita ingin mencari nilai yang duplikat dan menghapusnya.
Sebagai contoh kita memiliki array seperti ini :
$array = array(
'honda',
'bmw',
'mazda',
'honda',
'mazda',
'mazda',
'honda',
'bmw',
'jeep',
'lexus',
'lotus',
'toyota',
'mazda',
'jeep',
'honda',
'jeep',
);
Pada array diatas, bisa kita lihat ada beberapa nilai yang sama. Kita mungkin perlu untuk menghapusnya atau menghitung jumlah item yang duplikat. Hal ini dapat dilakukan dengan menggunakan fungsi array_count_values
$count_values = array_count_values($array);
Nilai variable $count_values akan mengembalikan nilai array sebagai berikut :
Array
(
[honda] => 4
[bmw] => 2
[mazda] => 4
[jeep] => 3
[lexus] => 1
[lotus] => 1
[toyota] => 1
)
Kita juga bisa memfilter hasil dari fungsi array_count_values agar menampilkan item yang duplikat saja. Hal ini bisa dilakukan dengan menggunakan fungsi array_filter.
function findDuplicates($count) {
return $count > 1;
}
$duplicates = array_filter(array_count_values($array), "findDuplicates");
variable $duplicates akan menghasilkan nilai array dengan item yang duplikat.
Array
(
[honda] => 4
[bmw] => 2
[mazda] => 4
[jeep] => 3
)
Untuk menghapus nilai duplikat pada sebuah array, kita bisa menggunakan fungsi array_unique.
$clear_array = array_unique($array);
Variable $clear_array akan mengembalikan nilai array tanpa item yang duplikat.
Array
(
[0] => honda
[1] => bmw
[2] => mazda
[3] => jeep
[4] => lexus
[5] => lotus
[6] => toyota
)