Search code examples
phparraysinsert

Insert new item in array on any position in PHP


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


Solution

  • 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.

    RETURN VALUE: To be noted that the function does not return the desired substitution. The $original is passed by reference and edited in place. See the expression array &$array with & in the parameters list .