Extrahieren mit 'array_slice'
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy. Lektion 16 von 68.
Die Funktion array_slice() ermöglicht es Ihnen, einen Teil eines Arrays zu extrahieren, ohne das ursprüngliche Array zu verändern. Im Gegensatz zu Funktionen wie array_pop() oder array_shift(), die das Quell-Array verändern, erstellt array_slice() ein neues Array, das nur die von Ihnen angegebenen Elemente enthält.
Die Funktion akzeptiert zwei Hauptparameter: den offset (Startposition) und die length (wie viele Elemente extrahiert werden sollen):
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree); // Outputs: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores); // Originales Array unverändert
?>Der Parameter offset gibt PHP an, wo mit dem Extrahieren begonnen werden soll (0 bedeutet das erste Element), während der Parameter length festlegt, wie viele Elemente übernommen werden sollen. Du kannst auch negative Werte für den Offset verwenden, um vom Ende des Arrays aus zu zählen.
Diese Funktion ist besonders nützlich, wenn Sie mit einer Teilmenge von Daten arbeiten müssen, wie zum Beispiel dem Anzeigen nur der ersten paar Elemente aus einer großen Liste oder dem Extrahieren eines bestimmten Bereichs von Elementen zur Verarbeitung, während Ihre ursprünglichen Daten intakt bleiben.
Aufgabe
EinfachDu erhältst drei Eingaben: ein Array mit Produktpreisen im JSON-Format, eine Startposition (Offset) und die Anzahl der zu extrahierenden Elemente (Länge). Lies alle drei Eingaben ein, wandle den JSON-String in ein Array um, verwende array_slice(), um den angegebenen Teil des Arrays zu extrahieren, und gib den extrahierten Ausschnitt mit print_r() aus.
Eingabeformat: Drei Zeilen – die erste Zeile enthält ein JSON-Array mit Zahlen (Beispiel: [29.99,15.50,42.00,8.75,33.25]), die zweite Zeile enthält den Offset (Startposition), die dritte Zeile enthält die Länge (Anzahl der zu extrahierenden Elemente).
Erwartete Ausgabe: Der extrahierte Teil des Arrays, angezeigt mit print_r()
Probier es selbst
<?php
// Lese das JSON-Array der Preise
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);
// Lese den Offset (Startposition)
$offset = intval(fgets(STDIN));
// Lese die Länge (Anzahl der zu extrahierenden Elemente)
$length = intval(fgets(STDIN));
// TODO: Schreibe unten deinen Code, um den Ausschnitt zu extrahieren und auszugeben
?>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Übe selbstständig: Online-PHP-Compiler