array_key_exists

funkcja

Sprawdza, czy podany klucz istnieje w tablicy. Zwraca true nawet gdy wartość to null.

array_key_exists(string|int $key, array $array): bool

array_key_exists zwraca true, jeśli $key istnieje w tablicy $array, niezależnie od wartości przypisanej do tego klucza — nawet gdy wynosi null. To kluczowa różnica w porównaniu do isset(), które zwraca false dla kluczy z wartością null.

Używaj array_key_exists, gdy interesuje cię samo istnienie klucza, a isset — gdy zależy ci na tym, by wartość była jednocześnie różna od null. Przydaje się np. przy obsłudze danych formularza, gdzie pole może być jawnie ustawione na pusty ciąg lub null.

<?php
declare(strict_types=1);

$produkt = ['nazwa' => 'laptop', 'cena' => 3499.99, 'rabat' => null];

var_dump(array_key_exists('cena', $produkt));   // wynik: bool(true)
var_dump(array_key_exists('rabat', $produkt));  // wynik: bool(true)
var_dump(array_key_exists('kolor', $produkt));  // wynik: bool(false)

// isset zwróci false dla klucza z wartością null:
var_dump(isset($produkt['rabat']));             // wynik: bool(false)
📘 Naucz się w lekcji →