Cara Menghapus Nilai Kosong dari Array di PHP

Menyaring data array berdasarkan kriteria tertentu adalah tugas sehari-hari: membuang nilai kosong dari input, mengambil hanya produk yang tersedia, atau memfilter angka genap. Artikel ini membahas cara menyaring array dengan array_filter di PHP.

Menghapus Nilai Kosong

<?php
$data = ["Apel", "", "Mangga", null, "Jeruk", "0"];
print_r(array_filter($data));
// Array ( [0] => Apel [2] => Mangga [4] => Jeruk )
?>

Tanpa callback, array_filter() membuang semua nilai yang dianggap kosong ("", 0, null, false).

Contoh Kasus: Menyaring Produk yang Tersedia

<?php
$produk = [
    ["nama" => "Kopi", "stok" => 5],
    ["nama" => "Teh",  "stok" => 0],
    ["nama" => "Gula", "stok" => 3],
];
$tersedia = array_filter($produk, fn($p) => $p["stok"] > 0);
// hanya Kopi dan Gula
?>

Memfilter Berdasarkan Kunci

<?php
$data = ["nama" => "Budi", "_token" => "xyz", "umur" => 25];
$bersih = array_filter($data, fn($k) => $k[0] !== "_", ARRAY_FILTER_USE_KEY);
// buang kunci yang diawali underscore
?>

Kesalahan Umum

  • array_filter() mempertahankan kunci asli. Bungkus dengan array_values() bila butuh indeks berurutan.
  • Filter tanpa callback ikut membuang angka 0 yang mungkin valid.

Kesimpulan

Gunakan array_filter() tanpa callback untuk membersihkan nilai kosong, atau dengan callback untuk menyaring berdasarkan kondisi. Gunakan ARRAY_FILTER_USE_KEY untuk memfilter berdasarkan kunci.

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 *