Menu
Coddy logo textTech

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.

challenge icon

Wyzwanie

Łatwy

Otrzymasz 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

?>
quiz iconSprawdź się

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

Poćwicz samodzielnie: Kompilator PHP online