Check if Key Exists
Teil des Abschnitts Grundlagen der PHP-Journey von Coddy. Lektion 45 von 71.
Beim Arbeiten mit assoziativen Arrays müssen Sie häufig prüfen, ob ein bestimmter Schlüssel existiert, bevor Sie versuchen, auf seinen Wert zuzugreifen. Der Versuch, auf einen nicht existierenden Schlüssel zuzugreifen, kann Fehler verursachen, daher stellt PHP die Funktion array_key_exists() zur Verfügung, um dies vorher sicher zu überprüfen.
<?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";
}
?>Die Funktion nimmt zwei Argumente entgegen: den Schlüssel, nach dem Sie suchen, und das Array, in dem gesucht werden soll. Sie gibt true zurück, wenn der Schlüssel existiert, und andernfalls false. Dies macht sie perfekt für die Verwendung in bedingten Anweisungen.
Diese Überprüfung ist besonders nützlich bei der Arbeit mit Daten, die unvollständig sein könnten – wie Benutzereingaben oder Daten aus externen Quellen –, bei denen Sie nicht garantieren können, dass alle erwarteten Schlüssel vorhanden sind.
Aufgabe
EinfachLiesen Sie eine Eingabezeile ein, die ein JSON-Objekt mit Benutzerdaten enthält (z. B. {"username": "john_doe", "email": "john@example.com", "age": 28}).
Liesen Sie dann zwei weitere Eingaben ein:
- Einen String
key1- der erste zu überprüfende Schlüssel - Einen String
key2- der zweite zu überprüfende Schlüssel
Erstellen Sie ein assoziatives Array aus der JSON-Eingabe, und danach:
- Prüfen Sie, ob
key1im Array existiert. Wenn ja, geben Sie den zugehörigen Wert aus. Wenn nicht, geben SieKey not foundaus. - Prüfen Sie, ob
key2im Array existiert. Wenn ja, geben Sie den zugehörigen Wert aus. Wenn nicht, geben SieKey not foundaus.
Geben Sie jedes Ergebnis in einer eigenen Zeile aus.
Beispiel:
Wenn die Eingaben {"username": "john_doe", "email": "john@example.com", "age": 28}, username und phone lauten, sollte die Ausgabe wie folgt aussehen:
john_doe
Key not foundWenn die Eingaben {"title": "Manager", "department": "Sales"}, salary und department lauten, sollte die Ausgabe wie folgt aussehen:
Key not found
SalesProbier es selbst
<?php
// Lies die JSON-Eingabe
$jsonInput = trim(fgets(STDIN));
$key1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
// Konvertiere JSON in ein assoziatives Array
$userData = (array)json_decode($jsonInput, true);
// TODO: Schreibe deinen Code darunter
// Prüfe, ob key1 existiert und gib den Wert oder den genauen Text aus den Anweisungen aus
// Prüfe, ob key2 existiert und gib den Wert oder den genauen Text aus den Anweisungen aus
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
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 OperatorsÜbe selbstständig: Online-PHP-Compiler