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 provoquer des erreurs, c'est pourquoi 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 dans le cas contraire. Cela la rend parfaite pour une utilisation dans des instructions conditionnelles.
Cette vérification est particulièrement utile lorsqu'il s'agit de traiter des données qui pourraient être incomplètes, comme les saisies d'un utilisateur ou des données provenant de sources externes, où vous ne pouvez pas garantir que toutes les clés attendues soient présentes.
Défi
FacileLisez une ligne d'entrée contenant un objet JSON représentant des données 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 elle existe, affichez la valeur qui lui est associée. Sinon, affichezKey not found. - Vérifiez si
key2existe dans le tableau. Si elle existe, affichez la valeur qui lui est associée. Sinon, affichezKey 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 doit être :
john_doe
Key not foundSi les entrées sont {"title": "Manager", "department": "Sales"}, salary et department, la sortie doit ê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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic7Arrays Part 2 - Associative
Intro to Associative ArraysAccessing Values by KeyModifying Values by KeyAdding New Key-Value PairsCheck if Key ExistsRecap - Key-Value Data Store2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString OperatorsEntraînez-vous par vous-même : Compilateur PHP en ligne