Функция count()

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

Тренажер PHP

Умение не только добавлять, но и удалять элементы — ключевой навык при работе с массивами. В PHP есть несколько способов сделать это, и каждый хорош для своей задачи. Иногда нужно удалить элемент по его имени (ключу), иногда — последний или первый в списке.

В этом тренажере мы рассмотрим основные инструменты для удаления: языковую конструкцию `unset()`, а также функции `array_pop()` и `array_shift()`. Ты научишься не только удалять данные, но и понимать, что происходит с массивом после удаления, например, как ведут себя ключи. Задания проведут тебя от самых азов до более сложных нюансов.

Список тем

Удаление по ключу с помощью unset()

id: 38962_task_del_1

У нас есть массив с данными пользователя, и нам нужно удалить конфиденциальную информацию перед отправкой. Заполни пропуски, чтобы с помощью конструкции `unset()` удалить из массива `$user` элемент с ключом 'password'.

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

$user = [
    'id' => 123,
    'login' => 'admin',
    'password' => 'qwerty12345'
];

input1S($user[input2S]);

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

Эффект unset() на ключи массива

id: 38962_task_del_2

Очень важный нюанс `unset()`: при удалении элемента из индексированного массива его ключи НЕ переиндексируются. Посмотри на код и выбери вариант, который точно показывает, как будет выглядеть массив после удаления среднего элемента.

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

$letters = ['A', 'B', 'C'];
unset($letters[1]); // Удаляем 'B'
print_r($letters);
Сообщения
Проверить
Показать подсказку

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

id: 38962_task_del_3

Функция `array_pop()` — это удобный способ "снять" последний элемент с массива. Используя токены из банка, составь команду, которая удалит последний элемент из массива `$stack`.

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

$stack = ['plate 1', 'plate 2', 'plate 3'];

// Убираем верхнюю тарелку из стопки
input1S(input2S);

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

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

id: 38962_task_del_4

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

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

$colors = ['red', 'green', 'blue'];
$removed_color = array_pop($colors);

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

Удаление первого элемента с array_shift()

id: 38962_task_del_5

Для удаления первого элемента массива существует функция `array_shift()`. Она работает аналогично `array_pop()`, но для начала массива. Заполни пропуски, чтобы удалить первый элемент из очереди `$queue`.

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

$queue = ['Task A', 'Task B', 'Task C'];
$first_task = input1S(input2S);

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

Эффект array_shift() на ключи

id: 38962_task_del_6

В отличие от `unset()`, функция `array_shift()` всегда переиндексирует числовые ключи массива, чтобы они снова шли по порядку, начиная с 0. Посмотри на код и выбери, как будет выглядеть массив после удаления.

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

$items = ['A', 'B', 'C'];
array_shift($items);
print_r($items);
Сообщения
Проверить
Показать подсказку

unset() — это не функция

id: 38962_task_del_7

`unset()` является языковой конструкцией, а не функцией, и она ничего не возвращает. В коде допущена распространённая ошибка: программист пытается присвоить результат `unset()` переменной, что некорректно. Исправь строку, чтобы она просто удаляла элемент, не пытаясь ничего присвоить.

Найдите ошибку и исправьте
<?php
$tasks = ['buy milk', 'call mom', 'pay bills'];
$removed_item = unset($tasks[1]);
print_r($tasks);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сравни методы удаления

id: 38962_task_del_8

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

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Удаляет элемент по ключу/индексу, не изменяя другие ключи
Удаляет последний элемент и возвращает его значение
Удаляет первый элемент, возвращает его и переиндексирует числовые ключи
array_pop($arr);
array_shift($arr);
unset($arr['key']);
Сообщения
Проверить
Показать подсказку
🚀 Визуализатор кода
0 / 0
Скорость:
Режим:
💡 Что происходит?
Загрузите пример для начала...
🤔
Проверка знаний
История шагов
Готов
НайтиКурс.Ру