Удаление с помощью 'array_pop'
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 11 из 68.
Функция array_pop() удаляет последний элемент из массива и возвращает это удаленное значение. В отличие от array_push(), которая добавляет элементы, эта функция сокращает ваш массив на один элемент при каждом использовании.
Вот как это работает:
<?php
$tasks = ["wash dishes", "do laundry", "buy groceries"];
$completedTask = array_pop($tasks);
echo $completedTask; // Выводит: buy groceries
print_r($tasks); // Выводит: Array ( [0] => wash dishes [1] => do laundry )
?>Обратите внимание, что array_pop() одновременно изменяет исходный массив и возвращает удаленный элемент. Это делает её идеальной для сценариев, когда вам нужно обработать элементы с конца списка, например, при завершении последней задачи в списке дел или удалении самого последнего элемента из стека.
Если вы попытаетесь использовать array_pop() с пустым массивом, она вернет null, не вызывая ошибки. Эта функция особенно полезна при работе с массивами как со стеками, где вы добавляете элементы в конец и удаляете их из конца по принципу «последним пришел — первым ушел» (LIFO).
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Задание
ЛегкоВы получите два входных значения: исходный массив задач в формате JSON и число, указывающее, сколько задач необходимо выполнить. Прочитайте оба значения, преобразуйте строку JSON в массив, используйте array_pop() указанное количество раз, чтобы удалить выполненные задачи с конца, и выведите итоговый массив с помощью print_r().
Формат входных данных: Две строки — первая строка содержит массив JSON (например: ["task1","task2","task3"]), вторая строка содержит количество задач для выполнения (число).
Ожидаемый результат: Массив после удаления выполненных задач, отображенный с помощью print_r()
Шпаргалка
Функция array_pop() удаляет последний элемент из массива и возвращает это удаленное значение:
<?php
$tasks = ["wash dishes", "do laundry", "buy groceries"];
$completedTask = array_pop($tasks);
echo $completedTask; // Выводит: buy groceries
print_r($tasks); // Выводит: Array ( [0] => wash dishes [1] => do laundry )
?>Ключевые моменты:
- Изменяет исходный массив, удаляя последний элемент
- Возвращает удаленный элемент
- Возвращает
null, если используется для пустого массива (без ошибки) - Полезно для операций «последним пришел — первым ушел» (стек)
Попробуйте сами
<?php
// Чтение входного массива JSON
$jsonInput = fgets(STDIN);
$tasks = (array)json_decode($jsonInput, true);
// Чтение количества задач для выполнения
$numToComplete = intval(fgets(STDIN));
// TODO: Напишите свой код ниже
// Используйте array_pop() для удаления указанного количества задач
// Вывод итогового массива
print_r($tasks);
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеров