Menu
Coddy logo textTech

Vérifier si une clé existe

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

Lorsque vous travaillez avec des tableaux associatifs, vous devrez souvent vérifier si une clé spécifique existe avant d’essayer d’accéder à sa valeur. Tenter d’accéder à une clé inexistante peut provoquer des erreurs, c’est pourquoi PHP fournit la fonction array_key_exists() pour effectuer cette vérification 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 renvoie true si la clé existe, et false dans le cas contraire. Cela la rend idéale pour une utilisation dans des instructions conditionnelles.

Cette vérification est particulièrement utile lorsque vous traitez des données qui peuvent être incomplètes, comme une saisie utilisateur ou des données provenant de sources externes, lorsque 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 d’un utilisateur (par exemple, {"username": "john_doe", "email": "john@example.com", "age": 28}).

Lisez ensuite deux autres entrées :

  • Une chaîne key1 - la première clé à vérifier
  • Une chaîne key2 - la deuxième 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 c’est le cas, affichez la valeur qui lui est associée. Sinon, affichez Key not found.
  2. Vérifiez si key2 existe dans le tableau. Si c’est le cas, affichez la valeur qui lui est associée. Sinon, affichez Key not found.

Affichez chaque résultat sur une ligne distincte.

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

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 le texte exact des instructions

// Vérifier si key2 existe et afficher la valeur ou le texte exact des instructions

?>
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

Entraînez-vous par vous-même : Compilateur PHP en ligne