Avatar ·

Was ist der Unterschied zwischen isset() und array_key_exists() in PHP? Wann verwendet man was?

Hallo zusammen! Ich habe gerade angefangen, PHP zu lernen, und bin auf eine unverständliche Situation gestoßen. Ich habe ein Array mit Benutzerdaten: ```php $user = [ 'name' => 'Ivan', 'email' => 'ivan@example.com', 'age' => null, 'status' => '' ]; ``` Ich muss prüfen, ob der Schlüssel `age` im Array existiert. Ich habe zwei Methoden ausprobiert: ```php if (isset($user['age'])) { echo "Alter angegeben"; } if (array_key_exists('age', $user)) { echo "Schlüssel age existiert"; } ``` Die erste Methode (`isset`) gibt keine Meldung aus, obwohl der Schlüssel `age` eindeutig im Array vorhanden ist. Aber `array_key_exists` funktioniert und gibt "Schlüssel age existiert" aus. Ich bin verwirrt: Beide prüfen doch scheinbar die Existenz eines Schlüssels? Warum unterschiedliche Ergebnisse? Und für den Schlüssel `status` mit einem leeren String gibt `isset` ebenfalls `false` zurück, obwohl