Menu
Coddy logo textTech

Schlüssel mit 'array_search'

Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 18 von 68.

Während in_array() Ihnen mitteilt, ob ein Wert in einem Array existiert, müssen Sie manchmal genau wissen, wo sich dieser Wert befindet. Die Funktion array_search() findet einen bestimmten Wert in einem Array und gibt den entsprechenden Schlüssel oder Index zurück.

So funktioniert es:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Ausgabe: 2
?>

Die Funktion nimmt zwei Parameter entgegen: den Wert, nach dem Sie suchen, und das Array, in dem gesucht werden soll. Wenn der Wert gefunden wird, gibt array_search() den Schlüssel zurück (bei indizierten Arrays ist dies die numerische Position beginnend bei 0).

Es gibt jedoch einen wichtigen Unterschied bei dem, was zurückgegeben wird. Wenn der Wert gefunden wird, erhalten Sie den Schlüssel. Wenn der Wert nicht gefunden wird, gibt die Funktion false zurück:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Gibt zurück: 2
$notFound = array_search(100, $scores); // Gibt zurück: false
?>

Diese Funktion ist besonders nützlich, wenn Sie die Position oder den Rang eines Elements bestimmen müssen, z. B. um herauszufinden, welchen Rang ein Spieler in einer Bestenliste einnimmt, oder um den Index eines bestimmten Elements für die weitere Verarbeitung zu ermitteln.

quiz iconTeste dich selbst

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

quiz iconTeste dich selbst

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

quiz iconTeste dich selbst

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

challenge icon

Aufgabe

Einfach

Sie erhalten zwei Eingaben: ein Array von Produktnamen im JSON-Format und einen Produktnamen, nach dem gesucht werden soll. Lesen Sie beide Eingaben ein, konvertieren Sie den JSON-String in ein Array, verwenden Sie array_search(), um die Position des Produkts im Array zu finden, und geben Sie das Ergebnis aus. Wenn das Produkt gefunden wird, geben Sie dessen Indexposition aus. Wenn das Produkt nicht gefunden wird, geben Sie "Product not found" aus.

Eingabeformat: Zwei Zeilen - die erste Zeile enthält ein JSON-Array (Beispiel: ["laptop","mouse","keyboard","monitor"]), die zweite Zeile enthält den zu suchenden Produktnamen

Erwartete Ausgabe: Entweder die numerische Indexposition des Produkts (beginnend bei 0) oder der Text "Product not found", falls das Produkt nicht im Array existiert

Spickzettel

Die Funktion array_search() sucht nach einem bestimmten Wert in einem Array und gibt den entsprechenden Schlüssel oder Index zurück:

<?php
$players = ["Alice", "Bob", "Charlie", "Diana"];
$position = array_search("Charlie", $players);
echo $position;  // Ausgabe: 2
?>

Die Funktion erwartet zwei Parameter: den Wert, nach dem gesucht wird, und das Array, in dem gesucht werden soll. Sie gibt den Schlüssel zurück, falls der Wert gefunden wurde, oder false, falls er nicht gefunden wurde:

<?php
$scores = [95, 87, 92, 78];
$found = array_search(92, $scores);    // Gibt zurück: 2
$notFound = array_search(100, $scores); // Gibt zurück: false
?>

Probier es selbst

<?php
// Liest die JSON-Array-Eingabe
$jsonInput = fgets(STDIN);
$products = (array)json_decode($jsonInput, true);

// Liest den zu suchenden Produktnamen
$searchProduct = trim(fgets(STDIN));

// TODO: Schreiben Sie Ihren Code unten
// Verwenden Sie array_search(), um die Produktposition zu finden


// Gibt das Ergebnis aus
echo $result;
?>
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 Logik & Ablauf