Dalam kasus ini misalkan kita memiliki array yang sangat banyak, dan didalamnya terdapat beberapa item yang memiliki nilai yang sama / duplikat. Kita ingin mencari nilai yang duplikat dan menghapusnya. Pada artikel ini kita akan mencoba untuk membuat sebuah fungsi untuk menghitung dan menghapus nilai duplikat pada array menggunakan PHP.
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
)
ntuk 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
)
No Comments
Leave a comment Cancel