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 )
0 comment
No comments associated with this article