array_slice
array_sum
配列 関数
PHP Manual

# array_splice

(PHP 4, PHP 5)

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

### 説明

array array_splice ( array `&$input` , int `$offset` [, int `$length` [, mixed `$replacement` = array() ]] )

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

`input` の配列の数値添字は保存されないことに注意しましょう。

> 注意: `replacement` が配列でない場合は、 型変換 を行います (つまり `(array) $parameter` とします)。 たとえば `replacement` にオブジェクトや `NULL` などを指定した場合に、 予期せぬ動きをする可能性があります。

### パラメータ

`input`

  入力の配列。

`offset`

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

`length`

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

`replacement`

  配列 `replacement` が指定された場合、 削除された要素は、この配列の要素で置換されます。

  `offset` および `length` で何も削除しないと指定した場合、配列 `replacement` の要素は `offset` で指定された位置に挿入されます。 置換される配列のキーは保存されないことに注意してください。

  もし `replacement` に一つしか要素がない場合、 要素そのものが配列やオブジェクトあるいは `NULL` でない限り、array() で括る必要はありません。

### 返り値

抽出された要素を含む配列を返します。

### 例

例1 array_splice() の例

`<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
// ここでは $input は array("red", "green") となる
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
// ここでは $input は array("red", "yellow") となる
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
// ここでは $input は array("red", "orange") となる
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
// ここでは $input は array("red", "green",
// "blue", "black", "maroon") となる
$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
// ここでは $input は array("red", "green",
// "blue", "purple", "yellow"); となる
?>`

例2 array_splice() の例

以下の文は、同様に $input の値を変更します。

`<?php
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));
$input[$x] = $y; // キーがオフセットと等価な配列に対して
array_splice($input, $x, 1, $y);
?>`

### 参考

- array_slice() - 配列の一部を展開する
- unset() - 指定した変数の割当を解除する
- array_merge() - ひとつまたは複数の配列をマージする

array_slice
array_sum
配列 関数
PHP Manual