Добавление с помощью 'array_unshift'
Часть раздела Логика и управление потоком путешествия по PHP на Coddy. Урок 12 из 68.
В то время как array_push() добавляет элементы в конец массива, функция array_unshift() делает обратное. Она добавляет один или несколько элементов в beginning массива. Эта функция напрямую изменяет исходный массив и возвращает новую длину массива.
Вот базовый синтаксис:
<?php
$tasks = ["buy groceries", "do laundry"];
array_unshift($tasks, "urgent meeting");
print_r($tasks); // Outputs: Array ( [0] => urgent meeting [1] => buy groceries [2] => do laundry )
?>Обратите внимание, что новый элемент становится индексом 0, а все существующие элементы сдвигаются к более высоким индексам. Эта переиндексация выполняется автоматически: array_unshift() обновляет все числовые ключи, чтобы сохранить правильную последовательность.
Вы также можете добавить несколько элементов одновременно:
<?php
$priorities = ["medium task"];
array_unshift($priorities, "high priority", "critical task");
print_r($priorities); // Выводит: Array ( [0] => high priority [1] => critical task [2] => medium task )
?>Эта функция особенно полезна, когда вам нужно расставить приоритеты для items в list, например добавить urgent tasks в начало списка дел или вставить high priority items в начало очереди.
Задание
ЛегкоВы получите два входных значения: исходный array уведомлений в формате JSON и новое срочное уведомление, которое нужно add. Прочитайте оба входных значения, преобразуйте строку JSON в array, используйте array_unshift(), чтобы add срочное уведомление в beginning array, и выведите final array с помощью print_r().
Формат ввода: Две строки — первая строка содержит array JSON (пример: ["meeting reminder","email received"]), вторая строка содержит срочное уведомление, которое нужно add
Ожидаемый результат: array после добавления срочного уведомления в beginning, отображённый с помощью print_r()
Попробуйте сами
<?php
// Read the JSON array of notifications
$jsonInput = fgets(STDIN);
$notifications = (array)json_decode($jsonInput, true);
// Read the urgent notification to add
$urgentNotification = trim(fgets(STDIN));
// TODO: Write your code below to add the urgent notification to the beginning of the array
// Вывести итоговый массив
print_r($notifications);
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
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'Итоги: Сортировка таблицы лидеровПотренируйтесь самостоятельно: Онлайн-компилятор PHP