Cara Menghapus Elemen Array Berdasarkan Nilai di PHP

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).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *