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 nimmt zwei Hauptparameter entgegen: 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); // Ausgabe: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores); // Ursprüngliches Array unverändert
?>Der offset-Parameter teilt PHP mit, wo die Extraktion beginnen soll (0 bedeutet das erste Element), während der length-Parameter angibt, wie viele Elemente entnommen werden sollen. Sie können auch negative Werte für den offset verwenden, um vom Ende des Arrays an 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.
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 drei Eingaben: ein Array von Produktpreisen im JSON-Format, eine Startposition (Offset) und die Anzahl der zu extrahierenden Elemente (Länge). Lesen Sie alle drei Eingaben ein, konvertieren Sie den JSON-String in ein Array, verwenden Sie array_slice(), um den angegebenen Teil des Arrays zu extrahieren, und geben Sie den extrahierten Ausschnitt mit print_r() aus.
Eingabeformat: Drei Zeilen - die erste Zeile enthält ein JSON-Array von 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()
Spickzettel
Die Funktion array_slice() extrahiert einen Teil eines Arrays, ohne das ursprüngliche Array zu verändern.
Syntax: array_slice($array, $offset, $length)
- offset: Startposition (0 = erstes Element)
- length: Anzahl der zu extrahierenden Elemente
- Verwenden Sie einen negativen Offset, um am Ende des Arrays zu beginnen
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree); // Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores); // Original array unchanged
?>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