Usuwanie za pomocą 'array_shift'
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 13 z 68.
Funkcja array_shift() usuwa pierwszy element z tablicy i zwraca usuniętą wartość. Działa odwrotnie niż array_unshift(), która dodaje elementy na początku tablicy.
Oto jak to działa:
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Wyświetla: Alice
print_r($queue); // Wyświetla: Array ( [0] => Bob [1] => Charlie )
?>Zauważ, że array_shift() modyfikuje oryginalną tablicę i zwraca usunięty element. Po usunięciu pierwszego elementu wszystkie pozostałe elementy automatycznie przesuwają się, aby wypełnić lukę: „Bob” przechodzi z indeksu 1 na indeks 0, a „Charlie” z indeksu 2 na indeks 1.
To ponowne indeksowanie odbywa się automatycznie, dzięki czemu tablica zachowuje prawidłową sekwencję numeryczną. Jeśli użyjesz funkcji array_shift() na pustej tablicy, zwróci ona null bez powodowania błędu.
Ta funkcja jest szczególnie przydatna przy implementowaniu kolejek, w których przetwarzasz elementy w kolejności „pierwsze weszło, pierwsze wyszło”, na przykład obsługując klientów w kolejce lub przetwarzając zadania w kolejności ich otrzymania.
Wyzwanie
ŁatwyOtrzymasz dwa wejścia: początkową tablicę klientów czekających w kolejce w formacie JSON oraz liczbę określającą, ilu klientów obsłużyć. Odczytaj oba wejścia, przekonwertuj ciąg JSON na tablicę, użyj array_shift() określoną liczbę razy, aby usunąć obsłużonych klientów z początku kolejki, i wyświetl końcową tablicę za pomocą print_r().
Format wejściowy: Dwa wiersze — pierwszy zawiera tablicę JSON (przykład: ["Alice","Bob","Charlie","Diana"]), drugi zawiera liczbę klientów do obsłużenia (liczbę)
Oczekiwane wyjście: Tablica po usunięciu obsłużonych klientów z początku kolejki, wyświetlona za pomocą print_r()
Spróbuj swoich sił
<?php
// Wczytaj tablicę klientów w formacie JSON
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);
// Wczytaj liczbę klientów do obsłużenia
$numToServe = intval(fgets(STDIN));
// TODO: Napisz swój kod poniżej
// Użyj array_shift(), aby usuwać klientów z początku kolejki
// Wyświetl końcową tablicę
print_r($customers);
?>Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane funkcje
Funkcje anonimoweDomknięcia i „use”Funkcje strzałkoweFunkcje zwrotneUżywanie „call_user_func”Funkcje zmiennePrzekazywanie przez referencjęFunkcje rekurencyjnePowtórka: przegląd funkcji4Tablice wielowymiarowe
Tworzenie tablicy 2DDostęp do elementów tablicy 2DModyfikowanie elementów tablicy 2DIterowanie z użyciem zagnieżdżonych pętliAsocjacyjne tablice 2DPodsumowanie: ćwiczenie z prostą siatką2Zaawansowane operacje na tablicach
Dodawanie za pomocą 'array_push'Usuwanie za pomocą 'array_pop'Dodawanie za pomocą 'array_unshift'Usuwanie za pomocą 'array_shift'Łączenie tablic indeksowanychŁączenie tablic asocjacyjnychWyodrębnianie za pomocą 'array_slice'Wyszukiwanie wartości za pomocą 'in_array'Wyszukiwanie kluczy za pomocą 'array_search'Podsumowanie: ćwiczenie z playlistą3Sortowanie tablic
Sortowanie tablic indeksowanych rosnącoSortowanie tablic indeksowanych malejącoSortowanie tablic asocjacyjnych według wartościSortowanie tablic asocjacyjnych według kluczaSortowanie w kolejności naturalnejSortowanie niestandardowe za pomocą 'usort'Podsumowanie: sortowanie tabeli wynikówPoćwicz samodzielnie: Kompilator PHP online