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