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() で括る必要はありません。
以下の文は、同様に $input の値を変更します。
表 1. array_splice() と同等なもの
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() も参照してください。