Функция array_push() и array_pop()

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

Представь себе стопку тарелок. Ты можешь положить новую тарелку только сверху и взять тоже можешь только верхнюю. Этот принцип "последним пришел — первым ушел" (Last-In, First-Out) очень часто используется в программировании, и для его реализации в PHP есть две замечательные парные функции: `array_push()` и `array_pop()`.

`array_push()` — это как положить новую тарелку на стопку. Она добавляет один или несколько элементов в конец массива.
`array_pop()` — это как снять верхнюю тарелку. Она извлекает последний элемент из массива.

В этом уроке мы подробно разберем, как работают эти две функции. Ты научишься добавлять и удалять элементы, работать с несколькими значениями сразу и поймешь, что именно эти функции возвращают в результате своей работы.

Список тем

Добавление элемента с array_push()

id: 38963_task_pushpop_1

Давай начнем с основ. У нас есть массив `$items`, и мы хотим добавить новый элемент в его конец. Заполни пропуски, чтобы с помощью функции `array_push()` добавить в массив строку 'C'.

Заполните пропуски
<?php

$items = ['A', 'B'];

input1S($items, input2S);

print_r($items);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Удаление элемента с array_pop()

id: 38963_task_pushpop_2

Теперь обратная операция. У нас есть массив `$tasks`, и нам нужно удалить из него последнюю задачу. Используя токены из банка, составь команду, которая удалит последний элемент с помощью `array_pop()`.

Нужно правильно расставить в пропуски предложенные варианты
<?php

$tasks = ['Купить хлеб', 'Позвонить маме', 'Заплатить за интернет'];

input1S(input2S);

print_r($tasks);
array_pop
$tasks
array_push
array_shift
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что возвращает array_pop()?

id: 38963_task_pushpop_3

Функция `array_pop()` не просто удаляет элемент, но и возвращает его. Это позволяет нам сразу же использовать удаленное значение. Проанализируй код и напиши в поле для ответа, что будет выведено на экран.

Что должно получиться?
<?php

$fruits = ['apple', 'orange', 'banana'];
$last_fruit = array_pop($fruits);

echo "Я съел(а) " . $last_fruit;
Сообщения
Проверить
Показать подсказку

Что возвращает array_push()?

id: 38963_task_pushpop_4

Это важный нюанс, который часто сбивает с толку. В отличие от `array_pop()`, функция `array_push()` возвращает не измененный массив и не добавленный элемент, а что-то другое. Посмотри на код и выбери, что будет выведено на экран.

Выберите правильный вариант ответа
<?php

$numbers = [10];
$result = array_push($numbers, 20, 30);

echo $result;
Сообщения
Проверить
Показать подсказку

Добавление нескольких элементов

id: 38963_task_pushpop_5

Функция `array_push()` очень удобна для добавления сразу нескольких элементов. Просто перечисли их через запятую после имени массива. Дополни код, чтобы добавить в массив `$colors` два новых цвета: 'green' и 'blue'.

Заполните пропуски
<?php

$colors = ['red'];

array_push($colors, input1S, input2S);

print_r($colors);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Ошибка: array_pop() на пустом массиве

id: 38963_task_pushpop_6

Что произойдет, если попытаться извлечь элемент из пустого массива? Это не вызовет фатальной ошибки, но `array_pop()` вернет определенное значение. Программист ожидал увидеть пустую строку, но `var_dump` показывает что-то другое. Исправь ожидаемый результат в комментарии, чтобы он соответствовал действительности.

Найдите ошибку и исправьте
<?php
$my_array = [];
$value = array_pop($my_array);
var_dump($value); // Ожидаемый результат: string(0) ""
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Имитация стопки тарелок (стека)

id: 38963_task_pushpop_7

Давай соберем полноценный пример работы стека (LIFO - Last-In, First-Out). Собери скрипт, который: 1. Создает пустой массив-стопку. 2. Кладет в него "тарелку 1". 3. Кладет "тарелку 2". 4. Снимает верхнюю тарелку и выводит её на экран. Лишние строки не используй.

Перетяните в правильном порядке строки из одного блока в другой
array_push($stack, "тарелка 1");
echo $top_plate;
$top_plate = array_pop($stack);
<?php
$stack = [];
array_push($stack, "тарелка 2");
array_shift($stack);
echo "тарелка 1";
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

array_pop() и ассоциативный массив

id: 38963_task_pushpop_8

Как `array_pop()` поведет себя с ассоциативным массивом? Она удалит тот элемент, который был добавлен в массив физически последним, независимо от ключей. Посмотри на код и выбери, как будет выглядеть итоговый массив.

Выберите правильный вариант ответа
<?php
$config = [
    'host' => 'localhost',
    'user' => 'root'
];
$config['db'] = 'main_db'; // Это было добавлено последним

array_pop($config);

print_r($config);
Сообщения
Проверить
Показать подсказку
🚀 Визуализатор кода
0 / 0
Скорость:
Режим:
💡 Что происходит?
Загрузите пример для начала...
🤔
Проверка знаний
История шагов
Готов
НайтиКурс.Ру