Cara Memeriksa Variabel Kosong, Null, atau Belum Diset di PHP

Salah satu penyebab error paling umum bagi pemula PHP adalah mengakses variabel atau elemen array yang belum ada, memunculkan peringatan “Undefined index”. Dua fungsi penjaga, isset() dan empty(), mencegah masalah ini. Artikel ini membahas cara menggunakan isset dan empty di PHP beserta perbedaannya.

isset() vs empty()

<?php
$a = "";
$b = "Halo";
// isset: apakah variabel ada dan bukan null?
var_dump(isset($a)); // true (ada, meski kosong)
// empty: apakah variabel dianggap kosong?
var_dump(empty($a)); // true ("" dianggap kosong)
var_dump(empty($b)); // false
?>
Nilaiisset()empty()
“Halo”truefalse
“” (kosong)truetrue
0truetrue
nullfalsetrue
tidak dideklarasikanfalsetrue

Contoh Kasus: Memproses Data Form dengan Aman

<?php
if (!empty($_POST["nama"])) {
    $nama = trim($_POST["nama"]);
    echo "Halo, " . htmlspecialchars($nama);
} else {
    echo "Nama wajib diisi";
}
?>

Menggunakan !empty() memastikan input tidak hanya ada, tetapi juga tidak kosong.

Jebakan: Angka Nol

Hati-hati, empty() menganggap angka 0 dan string "0" sebagai kosong. Untuk field jumlah yang boleh bernilai 0, gunakan isset() saja:

<?php
$jumlah = "0";
if (isset($jumlah) && $jumlah !== "") {
    echo "Jumlah: " . $jumlah; // tetap tampil untuk 0
}
?>

Operator Null Coalescing (??)

<?php
$hal = $_GET["halaman"] ?? "beranda"; // default bila tidak ada
?>

Kesimpulan

Gunakan isset() untuk memastikan variabel ada, dan empty() untuk memeriksa nilai kosong. Waspadai bahwa 0 dianggap kosong oleh empty(). Operator ?? memberi cara ringkas menyediakan nilai default.

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 *