Remove an element from an array and replace it with a new element:
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array( "a"=>"purple","b"=>"orange");array_splice($a1,0,2,$a2);print_r($a1);?>The array_splice() function removes a selected element from an array and replaces it with a new element. The function will also return an array of removed elements.
Tip: If the function does not remove any elements (length=0), the replacement array will be inserted from the position of the start parameter (see Example 2).
Note: Key names in substitution arrays are not preserved.
array_splice( array,start,length,array )
parameter | describe |
---|---|
array | Required. Specifies an array. |
start | Required. numerical value. Specifies the starting position of deleted elements. 0 = first element. If the value is set to a positive number, removal begins at the offset in the array specified by the value. If the value is set to a negative number, removal begins at the offset specified by the value from the end of the array. -2 means start from the second to last element of the array. |
length | Optional. numerical value. Specifies the number of elements to be removed, which is also the length of the returned array. If the value is set to a positive number, that number of elements are removed. If this value is set to a negative number, all elements from start to the reciprocal length of the end of the array are removed. If this value is not set, all elements from the position set by the start parameter to the end of the array are removed. |
array | Optional. Specifies the array with the elements to be inserted into the original array. If there is only one element, it can be set to a string and does not need to be set to an array. |
Return value: | Returns an array containing the extracted elements. |
---|---|
PHP version: | 4+ |
Same as the example earlier on this page, but outputs the returned array:
<?php$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array( "a"=>"purple","b"=>"orange");print_r(array_splice($a1,0,2,$a2));?>With the length parameter set to 0:
<?php$a1=array("0"=>"red","1"=>"green");$a2=array("0"=>"purple","1"=>"orange") ;array_splice($a1,1,0,$a2);print_r($a1);?>