Menu
Coddy logo textTech

Check if Key Exists

Fait partie de la section Fondamentaux du Journey PHP de Coddy — leçon 45 sur 71.

Lorsque vous travaillez avec des tableaux associatifs, vous aurez souvent besoin de vérifier si une clé spécifique existe avant d'essayer d'accéder à sa valeur. Tenter d'accéder à une clé inexistante peut causer des erreurs, donc PHP fournit la fonction array_key_exists() pour vérifier en toute sécurité au préalable.

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

if (array_key_exists("name", $person)) {
    echo "Name exists!";
}

if (array_key_exists("city", $person)) {
    echo "City exists!";
} else {
    echo "City not found";
}
?>

La fonction prend deux arguments : la clé que vous recherchez et le tableau dans lequel effectuer la recherche. Elle retourne true si la clé existe, et false sinon. Cela la rend parfaite pour une utilisation dans des instructions conditionnelles.

Cette vérification est particulièrement utile lorsque l'on traite des données qui pourraient être incomplètes — comme les entrées utilisateur ou les données provenant de sources externes — où vous ne pouvez pas garantir que toutes les clés attendues sont présentes.

challenge icon

Défi

Facile

Lisez une ligne d'entrée contenant un objet JSON représentant les données utilisateur (p. ex., {"username": "john_doe", "email": "john@example.com", "age": 28}).

Ensuite, lisez deux autres entrées :

  • Une chaîne key1 - la première clé à vérifier
  • Une chaîne key2 - la seconde clé à vérifier

Créez un tableau associatif à partir de l'entrée JSON, puis :

  1. Vérifiez si key1 existe dans le tableau. Si oui, affichez la valeur associée. Sinon, affichez Key not found.
  2. Vérifiez si key2 existe dans le tableau. Si oui, affichez la valeur associée. Sinon, affichez Key not found.

Affichez chaque résultat sur une ligne séparée.

Exemple :

Si les entrées sont {"username": "john_doe", "email": "john@example.com", "age": 28}, username et phone, la sortie devrait être :

john_doe
Key not found

Si les entrées sont {"title": "Manager", "department": "Sales"}, salary et department, la sortie devrait être :

Key not found
Sales

Aide-mémoire

Utilisez array_key_exists() pour vérifier si une clé spécifique existe dans un tableau associatif avant d'y accéder :

<?php
$person = [
    "name" => "Alice",
    "age" => 25
];

if (array_key_exists("name", $person)) {
    echo "Name exists!";
}

if (array_key_exists("city", $person)) {
    echo "City exists!";
} else {
    echo "City not found";
}
?>

La fonction prend deux arguments : la clé à rechercher et le tableau. Elle retourne true si la clé existe, false sinon.

Essayez vous-même

<?php
// Lire l'entrée JSON
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));

// Convertir le JSON en tableau associatif
$userData = (array)json_decode($jsonInput, true);

// TODO : Écrivez votre code ci-dessous
// Vérifier si key1 existe et afficher la valeur ou "Key not found"

// Vérifier si key2 existe et afficher la valeur ou "Key not found"

?>
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux