Решение от jay.lee идеально. Если вы хотите добавить элемент (ы) в многомерный массив, сначала добавьте одномерный массив, а затем замените его.
$original = (
[0] => Array
(
[title] => Speed
[width] => 14
)
[1] => Array
(
[title] => Date
[width] => 18
)
[2] => Array
(
[title] => Pineapple
[width] => 30
)
)
Добавление элемента в том же формате в этот массив добавит все новые индексы массива как элементы, а не просто элемент.
$new = array(
'title' => 'Time',
'width' => 10
);
array_splice($original,1,0,array('random_string')); // can be more items
$original[1] = $new; // replaced with actual item
Примечание: Добавление элементов непосредственно в многомерный массив с помощью array_splice добавит все его индексы как элементы вместо только этого элемента.