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.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Aufgabe
EinfachSie 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;
?>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Fortgeschrittene Funktionen
Anonyme FunktionenClosures und 'use'Arrow FunctionsCallback-FunktionenVerwendung von 'call_user_func'VariablenfunktionenReferenzübergabeRekursive FunktionenRückblick: Funktions-Medley4Mehrdimensionale Arrays
Ein 2D-Array erstellenZugriff auf 2D-Array-ElementeÄndern von 2D-Array-ElementenIterieren mit verschachtelten Schleifen2D assoziative ArraysZusammenfassung: Einfache Gitter-Übung2Fortgeschrittene Array-Manipulationen
Hinzufügen mit 'array_push'Entfernen mit 'array_pop'Hinzufügen mit 'array_unshift'Entfernen mit 'array_shift'Indizierte Arrays zusammenführenAssoziative Arrays zusammenführenExtrahieren mit 'array_slice'Werte mit 'in_array'Schlüssel mit 'array_search'Rückblick: Playlist-Übung3Arrays sortieren
Indizierte Arrays aufsteigend sortierenIndizierte Arrays absteigend sortierenAssoziative Arrays nach Wert sortierenAssoziative Arrays nach Schlüssel sortierenNatürliche SortierungBenutzerdefiniertes Sortieren mit 'usort'Recap: Leaderboard-Sortierung