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

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

Скопировано
$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
)

( источник )