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 diesen entfernten Wert zurück. Dies ist das Gegenteil von array_unshift(), welche Elemente am Anfang eines Arrays hinzufügt.
So funktioniert es:
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Ausgabe: Alice
print_r($queue); // Ausgabe: Array ( [0] => Bob [1] => Charlie )
?>Beachten Sie, dass array_shift() sowohl das ursprüngliche Array modifiziert als auch das entfernte Element zurückgibt. Nach dem Entfernen des ersten Elements rücken alle verbleibenden Elemente automatisch nach, um die Lücke zu füllen – „Bob“ rückt von Index 1 auf Index 0 vor, und „Charlie“ rückt von Index 2 auf Index 1 vor.
Diese Neuindizierung erfolgt automatisch und stellt sicher, dass Ihr Array die korrekte numerische Reihenfolge beibehält. Wenn Sie array_shift() auf ein leeres Array anwenden, gibt es null zurück, ohne einen Fehler zu verursachen.
Diese Funktion ist besonders nützlich für die Implementierung von Warteschlangen (Queues), bei denen Elemente in einer „First-In-First-Out“-Reihenfolge verarbeitet werden – etwa bei der Bedienung von Kunden in einer Schlange oder der Bearbeitung von Aufgaben in der Reihenfolge ihres Eingangs.
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 initiales Array von Kunden, die in einer Schlange warten, im JSON-Format und eine Zahl, die angibt, wie viele Kunden bedient werden sollen. Lesen Sie beide Eingaben ein, konvertieren Sie den JSON-String in ein Array, verwenden Sie array_shift() so oft wie angegeben, um die bedienten Kunden vom Anfang der Schlange zu entfernen, und geben Sie das finale 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 von vorne, angezeigt mittels print_r()
Spickzettel
Die array_shift()-Funktion entfernt das erste Element aus einem Array und gibt diesen entfernten Wert zurück:
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Ausgabe: Alice
print_r($queue); // Ausgabe: Array ( [0] => Bob [1] => Charlie )
?>Wichtige Punkte:
- Modifiziert das ursprüngliche Array und gibt das entfernte Element zurück
- Verbleibende Elemente werden automatisch neu indiziert (nach unten verschoben)
- Gibt
nullzurück, wenn es auf ein leeres Array angewendet wird - Nützlich für die Implementierung von „First-In-First-Out“-Warteschlangen (Queues)
Probier es selbst
<?php
// Liest das JSON-Array der Kunden ein
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);
// Liest die Anzahl der zu bedienenden Kunden ein
$numToServe = intval(fgets(STDIN));
// TODO: Schreiben Sie Ihren Code unten
// Verwenden Sie array_shift(), um Kunden vom Anfang der Schlange zu entfernen
// Gibt das finale 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