Wyodrębnianie za pomocą 'array_slice'
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 16 z 68.
Funkcja array_slice() pozwala wyodrębnić część tablicy bez modyfikowania oryginalnej tablicy. W przeciwieństwie do funkcji takich jak array_pop() czy array_shift(), które zmieniają tablicę źródłową, array_slice() tworzy nową tablicę zawierającą tylko określone przez Ciebie elementy.
Funkcja przyjmuje dwa główne parametry: offset (pozycję początkową) i length (liczbę elementów do wyodrębnienia):
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree); // Wyświetla: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores); // Oryginalna tablica pozostaje bez zmian
?>Parametr offset informuje PHP, od którego miejsca rozpocząć wyodrębnianie (0 oznacza pierwszy element), natomiast parametr length określa, ile elementów pobrać. Możesz też użyć ujemnych wartości parametru offset, aby rozpocząć liczenie od końca tablicy.
Ta funkcja jest szczególnie przydatna, gdy chcesz pracować z podzbiorem danych, na przykład wyświetlać tylko kilka pierwszych elementów z dużej listy lub wyodrębnić określony zakres elementów do przetworzenia, a jednocześnie zachować oryginalne dane bez zmian.
Wyzwanie
ŁatwyOtrzymasz trzy dane wejściowe: tablicę cen produktów w formacie JSON, pozycję początkową (przesunięcie) oraz liczbę elementów do wyodrębnienia (długość). Odczytaj wszystkie trzy dane, przekonwertuj ciąg JSON na tablicę, użyj array_slice(), aby wyodrębnić wskazany fragment tablicy, i wyświetl wyodrębniony fragment za pomocą print_r().
Format danych wejściowych: Trzy wiersze — pierwszy wiersz zawiera tablicę liczb w formacie JSON (przykład: [29.99,15.50,42.00,8.75,33.25]), drugi wiersz zawiera przesunięcie (pozycję początkową), a trzeci wiersz zawiera długość (liczbę elementów do wyodrębnienia)
Oczekiwany wynik: Wyodrębniony fragment tablicy wyświetlony za pomocą print_r()
Spróbuj swoich sił
<?php
// Odczytaj tablicę cen w formacie JSON
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);
// Odczytaj przesunięcie (pozycję początkową)
$offset = intval(fgets(STDIN));
// Odczytaj długość (liczbę elementów do wyodrębnienia)
$length = intval(fgets(STDIN));
// TODO: Napisz poniżej kod, który wyodrębni fragment tablicy i go wypisze
?>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