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

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

Тренажер PHP

Массивы были бы не так полезны, если бы мы не могли изменять их "на лету". Добавление новых элементов — одна из самых частых операций. В зависимости от задачи, нам может понадобиться добавить что-то в конец списка, в самое начало или присвоить значение по определённому ключу.

В этом тренажере мы разберем основные способы пополнения массивов в PHP. Ты познакомишься с универсальным оператором `[]`, который работает как для индексированных, так и для ассоциативных массивов. Также мы изучим специализированные функции, такие как array_push() и array_unshift(). Задания помогут тебе понять разницу между этими подходами и выбрать наиболее подходящий для твоих целей.

Список тем

Добавление в конец индексированного массива

id: 38960_task_add_1

Самый простой способ добавить элемент в конец индексированного массива — использовать пустые квадратные скобки `[]`. Дополни код так, чтобы в массив `$fruits` добавился новый фрукт 'banana'.

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

$fruits = ['apple', 'orange'];
$fruitsinput1S = 'banana';

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

Добавление в ассоциативный массив

id: 38960_task_add_2

Для добавления новой пары "ключ-значение" в ассоциативный массив нужно указать ключ в квадратных скобках. Добавь в массив `$user` информацию о его городе ('city'), присвоив этому ключу значение 'London'.

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

$user = ['name' => 'Peter'];

$user[input1S] = input2S;

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

Использование функции array_push()

id: 38960_task_add_3

Функция `array_push()` позволяет добавить один или несколько элементов в конец индексированного массива. Используя токены из банка, дополни код так, чтобы в массив `$numbers` добавилось число `30`.

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

$numbers = [10, 20];

input1S(input2S, 30);

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

Добавление в начало массива

id: 38960_task_add_4

Функция `array_unshift()` работает противоположно `array_push()`: она добавляет элементы в начало массива. Посмотри на код и напиши, какой элемент окажется в самом начале списка дел после выполнения скрипта.

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

$todo_list = ['Wash dishes', 'Buy milk'];
array_unshift($todo_list, 'Read a book');
echo $todo_list[0];
Сообщения
Проверить
Показать подсказку

Неправильное использование array_push()

id: 38960_task_add_5

Программист хотел добавить в ассоциативный массив возраст пользователя, но использовал для этого `array_push()`. Эта функция не предназначена для добавления элементов с заданным строковым ключом и приведёт к нежелательному результату. Исправь строку с ошибкой, чтобы добавить возраст с ключом 'age'.

Найдите ошибку и исправьте
<?php
$profile = ['name' => 'Alice'];
array_push($profile, 'age' => 25);
print_r($profile);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сопоставь способ добавления и его описание

id: 38960_task_add_6

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

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Добавить элемент в начало массива
Добавить элемент в конец (короткий синтаксис)
Добавить элемент с явным ключом
Добавить элемент в конец (синтаксис функции)
$items[] = 'd';
$items['id'] = 123;
array_push($items, 'd');
array_unshift($items, 'a');
Сообщения
Проверить
Показать подсказку

Собери скрипт для наполнения корзины

id: 38960_task_add_7

Перед тобой фрагменты кода для управления корзиной покупок. Собери из них работающий скрипт в правильной последовательности: создать пустую корзину, добавить "Milk", добавить "Bread", затем вывести содержимое корзины. Лишние строки использовать не нужно.

Перетяните в правильном порядке строки из одного блока в другой
print_r($cart);
$cart[] = 'Bread';
<?php
$cart = [];
$cart[] = 'Milk';
$cart['item'] = 'Milk';
echo $cart;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Какой будет следующий числовой ключ?

id: 38960_task_add_8

PHP ведет себя предсказуемо при добавлении элементов с помощью `[]`. Он находит максимальный существующий ЦЕЛОЧИСЛЕННЫЙ ключ и прибавляет к нему 1. Проанализируй код и выбери, какой ключ будет присвоен элементу 'c'.

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

$items = [
    1 => 'apple',
    5 => 'banana',
    'type' => 'fruit'
];
$items[] = 'cherry';

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