array_splice

array_splice -- 配列の一部を削除し、他の要素で置換する

説明

array array_splice(array input, int offset, int [length] , array [replacement]);

array_splice は、配列inputから offset および length で 指定された要素を削除し、配列 replacement が 指定されたこの要素で置換します。

offset が正の場合、削除される部分は 配列 input の最初から指定オフセットの位置 からとなります。 offset が負の場合、削除される部分は、 input の末尾から数えた位置からとなります。

length が省略された場合、 offset から配列の最後までが全て削除されます。 length が指定され、正の場合、複数の要素が 削除されます。 length が指定され、負の場合、削除される 部分は配列の末尾から複数の要素となります。 ヒント: replacementも指定した場合に offsetから配列の最後まで全てを削除するには、 length を求めるために count($input) を使用して下さい。

配列 replacement が指定された場合、 削除された要素は、この配列の要素で置換されます。 offset および length で 何も削除しないと指定した場合、配列 replacement の 要素はoffsetで指定された位置に挿入されます。 ヒント: replacement に一つしか要素がない場合、要素そのものが配列でない限り、 array() で括る必要はありません。

以下は等価となります。


array_push($input, $x, $y)     array_splice($input, count($input), 0, array($x, $y))
array_pop($input)              array_splice($input, -1)
array_shift($input)            array_splice($input, 0, 1)
array_unshift($input, $x, $y)  array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y                    array_splice($input, $x, 1, $y)
     

削除された要素からなる配列を返します。

例 1. array_splice の例


$input = array("red", "green", "blue", "yellow");

array_splice($input, 2);      // $input は、array("red", "green") となります。
array_splice($input, 1, -1);  // $input は、array("red", "yellow") となります。
array_splice($input, 1, count($input), "orange");  // $input は、array("red", "orange") となります。
array_splice($input, -1, 1, array("black", "maroon")); 
                              // $input は、array("red", "green", 
                              //    "blue", "black", "maroon") となります。
      

array_slice も参照下さい。

注意: この関数は、PHP 4.0 で追加されました。