Menu
Coddy logo textTech

Извлечение с помощью 'array_slice'

Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 16 из 68.

Функция array_slice() позволяет извлечь часть массива, не изменяя исходный массив. В отличие от таких функций, как array_pop() или array_shift(), которые изменяют исходный массив, array_slice() создает новый массив, содержащий только указанные вами элементы.

Функция принимает два основных параметра: offset (начальная позиция) и length (сколько элементов извлечь):

<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Выводит: Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // Исходный массив не изменен
?>

Параметр offset указывает PHP, откуда начинать извлечение (0 означает первый элемент), в то время как параметр length определяет, сколько элементов нужно взять. Вы также можете использовать отрицательные значения для offset, чтобы начать отсчет с конца массива.

Эта функция особенно полезна, когда вам нужно работать с подмножеством данных, например, для отображения только первых нескольких элементов из большого списка или извлечения определенного диапазона элементов для обработки, при этом сохраняя исходные данные в целости.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

challenge icon

Задание

Легко

Вы получите три входных значения: массив цен на товары в формате JSON, начальную позицию (offset) и количество элементов для извлечения (length). Прочитайте все три входных значения, преобразуйте строку JSON в массив, используйте array_slice() для извлечения указанной части массива и выведите извлеченный фрагмент с помощью print_r().

Формат входных данных: Три строки — первая строка содержит JSON-массив чисел (например: [29.99,15.50,42.00,8.75,33.25]), вторая строка содержит смещение (начальную позицию), третья строка содержит длину (количество элементов для извлечения).

Ожидаемый результат: Извлеченная часть массива, отображенная с помощью print_r()

Шпаргалка

Функция array_slice() извлекает часть массива, не изменяя исходный массив.

Синтаксис: array_slice($array, $offset, $length)

  • offset: Начальная позиция (0 = первый элемент)
  • length: Количество извлекаемых элементов
  • Используйте отрицательное смещение (offset), чтобы начать с конца массива
<?php
$scores = [95, 87, 92, 78, 85, 90, 88];
$topThree = array_slice($scores, 0, 3);
print_r($topThree);  // Array ( [0] => 95 [1] => 87 [2] => 92 )
print_r($scores);    // Исходный массив не изменен
?>

Попробуйте сами

<?php
// Чтение JSON-массива цен
$json_input = fgets(STDIN);
$prices = (array)json_decode($json_input, true);

// Чтение смещения (начальная позиция)
$offset = intval(fgets(STDIN));

// Чтение длины (количество элементов для извлечения)
$length = intval(fgets(STDIN));

// TODO: Напишите ниже свой код для извлечения среза и его вывода

?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком