(PHP 4, PHP 5, PHP 7, PHP 8)
array_unshift — Добавляет один или несколько элементов в начало массива
Функция array_unshift() добавляет новые элементы
в начало массива array
. Обратите внимание,
функция добавляет список элементов целиком, поэтому новые элементы остаются в то же порядке.
Числовые ключи массива изменятся так, чтобы нумерация начиналась
с нуля, тогда как литеральные ключи не изменятся.
Замечание:
Функция сбрасывает внутренний указатель массива на первый элемент.
array
Входной массив.
values
Значения для добавления.
Функция возвращает новое количество элементов в массиве array
.
Версия | Описание |
---|---|
7.3.0 | Функцию разрешили вызывать с одним аргументом. Раньше требовалось как минимум два аргумента. |
Пример #1 Пример добавления элементов в начало массива функцией array_unshift()
<?php
$queue = [
"orange",
"banana"
];
array_unshift($queue, "apple", "raspberry");
var_dump($queue);
?>
Результат выполнения приведённого примера:
array(4) { [0] => string(5) "apple" [1] => string(9) "raspberry" [2] => string(6) "orange" [3] => string(6) "banana" }
Пример #2 Пример работы с ассоциативными массивами
Ассоциативный массив, который добавляется в начало другого ассоциативного массива, получает числовой индекс в прежнем массиве.
<?php
$foods = [
'apples' => [
'McIntosh' => 'red',
'Granny Smith' => 'green',
],
'oranges' => [
'Navel' => 'orange',
'Valencia' => 'orange',
],
];
$vegetables = [
'lettuce' => [
'Iceberg' => 'green',
'Butterhead' => 'green',
],
'carrots' => [
'Deep Purple Hybrid' => 'purple',
'Imperator' => 'orange',
],
'cucumber' => [
'Kirby' => 'green',
'Gherkin' => 'green',
],
];
array_unshift($foods, $vegetables);
var_dump($foods);
?>
Результат выполнения приведённого примера:
array(3) { [0]=> array(3) { ["lettuce"]=> array(2) { ["Iceberg"]=> string(5) "green" ["Butterhead"]=> string(5) "green" } ["carrots"]=> array(2) { ["Deep Purple Hybrid"]=> string(6) "purple" ["Imperator"]=> string(6) "orange" } ["cucumber"]=> array(2) { ["Kirby"]=> string(5) "green" ["Gherkin"]=> string(5) "green" } } ["apples"]=> array(2) { ["McIntosh"]=> string(3) "red" ["Granny Smith"]=> string(5) "green" } ["oranges"]=> array(2) { ["Navel"]=> string(6) "orange" ["Valencia"]=> string(6) "orange" } }