Menu
Coddy logo textTech

Prüfen, ob ein Schlüssel vorhanden ist

Teil des Abschnitts Grundlagen der PHP-Journey von Coddy. Lektion 45 von 71.

Bei der Arbeit mit assoziativen Arrays musst du häufig prüfen, ob ein bestimmter Schlüssel vorhanden ist, bevor du versuchst, auf seinen Wert zuzugreifen. Der Versuch, auf einen nicht vorhandenen Schlüssel zuzugreifen, kann Fehler verursachen. Daher stellt PHP die Funktion array_key_exists() bereit, um dies zunächst sicher zu prü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 gesuchten Schlüssel und das Array, in dem gesucht werden soll. Sie gibt true zurück, wenn der Schlüssel vorhanden ist, und andernfalls false. Dadurch eignet sie sich perfekt für die Verwendung in bedingten Anweisungen.

Diese Prüfung ist besonders nützlich beim Umgang mit Daten, die möglicherweise unvollständig sind, etwa Benutzereingaben oder Daten aus externen Quellen, bei denen du nicht garantieren kannst, dass alle erwarteten Schlüssel vorhanden sind.

challenge icon

Aufgabe

Einfach

Lies eine Eingabezeile ein, die ein JSON-Objekt darstellt, das Benutzerdaten enthält (z. B. {"username": "john_doe", "email": "john@example.com", "age": 28}).

Lies anschließend zwei weitere Eingaben ein:

  • Eine Zeichenfolge key1 – der erste zu überprüfende Schlüssel
  • Eine Zeichenfolge key2 – der zweite zu überprüfende Schlüssel

Erstelle aus der JSON-Eingabe ein assoziatives array und:

  1. Überprüfe, ob key1 im array vorhanden ist. Falls ja, gib den zugehörigen Wert aus. Falls nicht, gib Key not found aus.
  2. Überprüfe, ob key2 im array vorhanden ist. Falls ja, gib den zugehörigen Wert aus. Falls nicht, gib Key not found aus.

Gib jedes Ergebnis in einer separaten Zeile aus.

Beispiel:

Wenn die Eingaben {"username": "john_doe", "email": "john@example.com", "age": 28}, username und phone lauten, sollte die Ausgabe folgendermaßen aussehen:

john_doe
Key not found

Wenn die Eingaben {"title": "Manager", "department": "Sales"}, salary und department lauten, sollte die Ausgabe folgendermaßen 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