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.
Défi
FacileLisez 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 :
- Vérifiez si
key1existe dans le tableau. Si c’est le cas, affichez la valeur qui lui est associée. Sinon, affichezKey not found. - Vérifiez si
key2existe dans le tableau. Si c’est le cas, affichez la valeur qui lui est associée. Sinon, affichezKey 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 foundSi les entrées sont {"title": "Manager", "department": "Sales"}, salary et department, la sortie devrait être :
Key not found
SalesEssayez 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
?>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
4Opérateurs de comparaison et logiques
Opérateurs de comparaisonÉgalité et identitéOpérateurs logiques — Partie 1Opérateurs logiques — Partie 2Récapitulatif — Logique simple7Tableaux, partie 2 - associatifs
Introduction aux tableaux associatifsAccéder aux valeurs par cléModifier les valeurs par cléAjouter de nouvelles paires clé-valeurVérifier si une clé existeRécapitulatif - magasin de données clé-valeur2Variables et types de données
NombresChaînes et guillemetsBooléensConventions de nommageRécapitulatif - initialisation des variablesVariables videsConcaténation de chaînesObtenir une saisie utilisateurConvertir vers différents types5Logique conditionnelle
Instruction ifIf - ElseOpérateur ternaireOpérateur de coalescence nulleInstruction switchRécapitulatif - Prendre des décisions3Opérateurs de base
Opérateurs arithmétiquesOpérateur moduloOpérateur d’exponentiationAffectation combinéeIncrémentation/DécrémentationPriorité des opérateursRécapitulatif - Calculs simplesOpérateurs sur les chaînesEntraînez-vous par vous-même : Compilateur PHP en ligne