Fungsi unset() menghapus elemen berdasarkan kunci, tetapi sering kita hanya tahu nilainya, bukan posisinya. Misalnya menghapus produk tertentu dari daftar favorit. Artikel ini membahas cara menghapus elemen array berdasarkan nilai di PHP.
Menghapus Satu: array_search() + unset()
<?php
$buah = ["Apel", "Mangga", "Jeruk"];
$kunci = array_search("Mangga", $buah);
if ($kunci !== false) {
unset($buah[$kunci]);
}
print_r($buah); // Apel, Jeruk
?>
Perhatikan !== false — karena kunci bisa bernilai 0, memakai if ($kunci) saja adalah bug.
Contoh Kasus: Menghapus dari Daftar Favorit
<?php $favorit = [12, 45, 8, 30]; $id_hapus = 45; $kunci = array_search($id_hapus, $favorit); if ($kunci !== false) unset($favorit[$kunci]); $favorit = array_values($favorit); // tata ulang indeks ?>
Menghapus Semua Kemunculan dengan array_diff()
<?php $data = ["A", "B", "A", "C", "A"]; $data = array_diff($data, ["A"]); print_r($data); // hanya B dan C tersisa ?>
Kesimpulan
Untuk menghapus satu elemen berdasarkan nilai, gunakan array_search() + unset() dengan pengecekan !== false. Untuk menghapus semua kemunculan sekaligus, gunakan array_diff().
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

