array_splice

(PHP 4 , PHP 5)

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()で括る必要はありません。

以下は等価となります。

表 1. array_splice() equivalents

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, -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() の例

<?php
$input
= array ("red", "green", "blue", "yellow");
array_splice ($input, 2);
// $input is now array ("red", "green")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 1, -1);
// $input is now array ("red", "yellow")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, 1, count($input), "orange");
// $input is now array ("red", "orange")

$input = array ("red", "green", "blue", "yellow");
array_splice ($input, -1, 1, array("black", "maroon"));
// $input is now array ("red", "green",
//          "blue", "black", "maroon")
?>

array_slice()も参照してください。