Menu
Coddy logo textTech

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.

challenge icon

Aufgabe

Einfach

Liesen 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:

  1. Prüfen Sie, ob key1 im Array existiert. Wenn ja, geben Sie den zugehörigen Wert aus. Wenn nicht, geben Sie Key not found aus.
  2. Prüfen Sie, ob key2 im Array existiert. Wenn ja, geben Sie den zugehörigen Wert aus. Wenn nicht, geben Sie Key not found aus.

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 found

Wenn die Eingaben {"title": "Manager", "department": "Sales"}, salary und department lauten, sollte die Ausgabe wie folgt aussehen:

Key not found
Sales

Probier 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

?>
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-PHP-Compiler