Insert new item in array on any position in PHP

kusanagi picture kusanagi · Sep 26, 2010 · Viewed 384k times · Source

How can I insert a new item into an array on any position, for example in the middle of array?

Answer

jay.lee picture jay.lee · Sep 26, 2010

You may find this a little more intuitive. It only requires one function call to array_splice:

$original = array( 'a', 'b', 'c', 'd', 'e' );
$inserted = array( 'x' ); // not necessarily an array, see manual quote

array_splice( $original, 3, 0, $inserted ); // splice in at position 3
// $original is now a b c x d e

If replacement is just one element it is not necessary to put array() around it, unless the element is an array itself, an object or NULL.