Добавление элемента к массиву
Добавляем элемент в конец массива
$arr[] = 5;
Показать код
Индекс добавленному элементу будет назначен автоматически.
$arr['a'] = 5;
Показать код
Добавленному элементу будет присвоен индекс 'a'
. Если элемент с таким индексом уже есть, он будет перезаписан.
Чтобы добавить сразу несколько элементов в конец массива используем функцию array_push
:
$arr = [ 1, 2 ];
array_push( $arr, 3, 4, 'a' );
Показать код
Результат:
Array (
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => a
)
Если мы хотим добавить в конец массива элемент с конкретным индексом, то надо создать из этого элемента массив и сложить с существующим:
$arr = [ 1, 2 ];
$arr += [ 'c' => 3 ];
Показать код
Результат:
Array (
[0] => 1
[1] => 2
[c] => 3
)
Добавляем элемент в начало массива
Чтобы добавить один или несколько элементов в начало массива можно использовать функцию array_unshift
:
$arr = [ 1 ];
array_unshift( $arr, 5, 'два' );
Показать код
Результат:
Array (
[0] => 5
[1] => два
[2] => 1
)
В данном случае мы добавили в начало массива 2 элемента.
Если мы хотим добавить в начало массива элемент с конкретным индексом, то надо создать из этого элемента массив и сложить с существующим:
$arr = [ 'a' => 1, 2 ];
$arr = [ 'c' => 3 ] + $arr;
Показать код
Результат:
Array (
[c] => 3
[a] => 1
[0] => 2
)
Добавляем элемент в произвольное место массива
$arr = [ 'c' => 1, 2, 3, 4];
array_splice( $arr, 3, 0, 'новый' );
Показать код
Результат:
Array (
[c] => 1
[0] => 2
[1] => 3
[2] => новый
[3] => 4
)
Мы добавили в массив новый элемент после третьего по счету. Индекс ему присвоился автоматически.
Если же мы хотим указать с каким индексом должен добавиться элемент, то можно это сделать так:
$arr = [ 'c' => 1, 2, 3, 4];
$add = [ 'new' => 'новый' ];
$pos = 3;
$arr = array_slice( $arr, 0, $pos, true ) + $add + array_slice( $arr, $pos, count( $arr ) - $pos, true );
Показать код
Результат:
Array (
[c] => 1
[0] => 2
[1] => 3
[new] => новый
[2] => 4
)
( источник )