Funkcja isset() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Opublikowano: Zaktualizowano:

isset() sprawdza, czy zmienna została ustawiona i czy jej wartość nie wynosi NULL. Funkcja zwraca wartość logiczną: true albo false.

W pytaniach egzaminacyjnych isset() często pojawia się przy sprawdzaniu danych z formularza, ciasteczek, sesji lub tablic superglobalnych, np. $_POST, $_GET, $_COOKIE, $_SESSION.

Składnia

isset($zmienna)

Można też sprawdzać element tablicy:

isset($_COOKIE['nazwa'])

Oznacza to: „czy istnieje ciasteczko o nazwie nazwa?”.

Przykład użycia z ciasteczkiem

if (!isset($_COOKIE['uzytkownik'])) {
    echo "Ciasteczko nie istnieje";
} else {
    echo "Wartość ciasteczka: " . $_COOKIE['uzytkownik'];
}

Operator ! oznacza negację, więc zapis !isset(...) należy czytać jako „jeżeli nie ustawiono”.

Ważne informacje

  • isset($x) zwróci false, jeśli zmienna nie istnieje.
  • isset($x) zwróci false, jeśli $x ma wartość NULL.
  • isset($x) zwróci true, jeśli zmienna istnieje i ma wartość inną niż NULL, nawet jeśli jest to pusty napis "" albo liczba 0.

Różnica między isset() a empty()

isset() sprawdza istnienie zmiennej, a empty() sprawdza, czy wartość jest „pusta”, np. "", 0, false, NULL.

$x = 0;
var_dump(isset($x)); // true
var_dump(empty($x)); // true

Na egzaminie warto kojarzyć isset($_COOKIE[...]) z obsługą ciasteczek w PHP.