Avatar ·

Quelle est la différence entre isset() et array_key_exists() en PHP ? Quand utiliser quoi ?

Bonjour à tous ! Je viens de commencer à apprendre PHP et j'ai rencontré une situation confuse. J'ai un tableau avec des données utilisateur : ```php $user = [ 'name' => 'Иван', 'email' => 'ivan@example.com', 'age' => null, 'status' => '' ]; ``` Je dois vérifier si la clé `age` existe dans le tableau. J'ai essayé deux façons : ```php if (isset($user['age'])) { echo "Âge indiqué"; } if (array_key_exists('age', $user)) { echo "La clé age existe"; } ``` La première méthode (`isset`) n'affiche pas de message, bien que la clé `age` soit clairement dans le tableau. Mais `array_key_exists` fonctionne et affiche "La clé age existe". Je suis perplexe : les deux ne vérifient-ils pas l'existence d'une clé ? Pourquoi des résultats différents ? Et pour la clé `status` avec une chaîne vide, `isset` retourne aussi `false`, même si la clé existe. S'il vous plaît, expliquez à un débutant : quelle est la différence entre `isset()` et `array_key_exists()`, et quand est-il préférable d'utiliser quelle variante ? Y a-t-il d'autres nuances de performance ?