無料CGI、PHPサイト(確認画面付きメールフォーム・メーリングリスト・メルマガ設置、逆アクセスランキング、画像カウンター等)PHPマニュアル by k-sky

array_splice

(PHP 4, PHP 5)

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

説明

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

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

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

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

パラメータ

input

入力の配列。

offset

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

length

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

replacement

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

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

もし replacement に一つしか要素がない場合、 要素そのものが配列でない限り、array() で括る必要はありません。

返り値

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

例1 array_splice() の例

<?php
$input 
= array("red""green""blue""yellow");
array_splice($input2);
// ここでは $input は array("red", "green") となる

$input = array("red""green""blue""yellow");
array_splice($input1, -1);
// ここでは $input は array("red", "yellow") となる

$input = array("red""green""blue""yellow");
array_splice($input1count($input), "orange");
// ここでは $input は array("red", "orange") となる

$input = array("red""green""blue""yellow");
array_splice($input, -11, array("black""maroon"));
// ここでは $input は array("red", "green",
//          "blue", "black", "maroon") となる

$input = array("red""green""blue""yellow");
array_splice($input30"purple");
// ここでは $input は array("red", "green",
//          "blue", "purple", "yellow"); となる
?>

例2 array_splice() の例

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

<?php
array_push
($input$x$y);
array_splice($inputcount($input), 0, array($x$y));
array_pop($input);
array_splice($input, -1);
array_shift($input);
array_splice($input01);
array_unshift($input$x$y);
array_splice($input00, array($x$y));
$input[$x] = $y// キーがオフセットと等価な配列に対して
array_splice($input$x1$y);
?>