Entfernen mit 'array_shift'
Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy. Lektion 13 von 68.
Die Funktion array_shift() entfernt das erste Element aus einem array und gibt den entfernten Wert zurück. Dies ist das Gegenteil von array_unshift(), das Elemente am Anfang eines array hinzufügt.
So funktioniert es:
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Ausgabe: Alice
print_r($queue); // Outputs: Array ( [0] => Bob [1] => Charlie )
?>Beachte, dass array_shift() sowohl das ursprüngliche Array verändert als auch das entfernte Element zurückgibt. Nachdem das erste Element entfernt wurde, rücken alle verbleibenden Elemente automatisch nach unten, um die Lücke zu füllen: „Bob“ verschiebt sich von Index 1 zu Index 0, und „Charlie“ verschiebt sich von Index 2 zu Index 1.
Diese Neuindizierung erfolgt automatisch und stellt sicher, dass dein Array eine korrekte numerische Sequenz beibehält. Wenn du array_shift() auf einem leeren Array verwendest, gibt es null zurück, ohne einen Fehler zu verursachen.
Diese Funktion ist besonders nützlich für die Implementierung von Warteschlangen, bei denen du Elemente in der Reihenfolge „zuerst hinein, zuerst heraus“ verarbeitest, etwa beim Umgang mit Kunden in einer Warteschlange oder bei der Verarbeitung von Aufgaben in der Reihenfolge, in der sie empfangen wurden.
Aufgabe
EinfachDu erhältst zwei Eingaben: ein anfängliches Array von Kunden, die in einer Warteschlange warten, im JSON-Format sowie eine Zahl, die angibt, wie viele Kunden bedient werden sollen. Lies beide Eingaben ein, wandle die JSON-Zeichenfolge in ein Array um, verwende array_shift() die angegebene Anzahl von Malen, um bediente Kunden vom Anfang der Warteschlange zu entfernen, und gib das endgültige Array mit print_r() aus.
Eingabeformat: Zwei Zeilen – die erste Zeile enthält ein JSON-Array (Beispiel: ["Alice","Bob","Charlie","Diana"]), die zweite Zeile enthält die Anzahl der zu bedienenden Kunden (eine Zahl).
Erwartete Ausgabe: Das Array nach dem Entfernen der bedienten Kunden vom Anfang der Warteschlange, dargestellt mit print_r().
Probier es selbst
<?php
// Lies das JSON-Array der Kunden
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);
// Lies die Anzahl der zu bedienenden Kunden
$numToServe = intval(fgets(STDIN));
// TODO: Schreibe deinen Code darunter
// Verwende array_shift(), um Kunden vom Anfang der Schlange zu entfernen
// Gib das endgültige Array aus
print_r($customers);
?>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