Cara Memeriksa Apakah Kunci Ada dalam Array di PHP

Berbeda dengan in_array() yang memeriksa nilai, terkadang kita perlu memastikan sebuah kunci ada dalam array asosiatif — misalnya memeriksa apakah data konfigurasi tertentu tersedia. Artikel ini membahas cara memeriksa kunci ada dalam array di PHP.

Fungsi array_key_exists()

<?php
$user = ["nama" => "Budi", "email" => null];
if (array_key_exists("email", $user)) {
    echo "Kunci email ada";
}
?>

Perbedaan Penting dengan isset()

Inilah jebakan yang sering menjebak: isset() mengembalikan false jika nilainya null, sedangkan array_key_exists() tetap true selama kuncinya ada.

<?php
$user = ["email" => null];
var_dump(isset($user["email"]));            // false (karena null)
var_dump(array_key_exists("email", $user)); // true (kunci memang ada)
?>

Contoh Kasus: Membaca Konfigurasi dengan Default

<?php
$config = ["timeout" => 0, "debug" => false];
$timeout = array_key_exists("timeout", $config) ? $config["timeout"] : 30;
echo $timeout; // 0 (nilai valid, tidak diganti default)
?>

Di sini isset() akan keliru mengganti 0 dengan default, sedangkan array_key_exists() tetap benar.

Kesimpulan

Gunakan array_key_exists() saat perlu memastikan sebuah kunci ada, bahkan jika nilainya null, 0, atau false. Untuk sekadar cek nilai yang benar-benar terisi, isset() lebih ringkas.

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 *