« PHP:array_push()関数・array_unshift()関数 | メイン | FLASH:フレームアクションで外部テキストを読み込む »

2005年12月02日

PHP:array_splice()関数

array_splice()関数は、配列の要素を一括削除して、他の要素で置換えます。

$RES = array_splice($ARRAY, $offset[, $length[, $VALUE]]);
$RES:削除された要素で構成される配列が格納されます。
$ARRAY:抽出元となる配列
$offset:抽出を開始する位置
$length:抽出する要素数(省略可能)
$VALUE:削除した場所に挿入する要素(省略可能・$lengthを設定した場合には必須)、基本的には配列を指定しますが、要素が一つしかない場合にはスカラー値を指定することも可能です。

$ARRAY1 = array("PHP", "perl", "SQL", "ActionScript", "JavaScript", "c");
$RESARRAY1 = array_splice($ARRAY1, 3, 2, "none");
//置換え文字列にスカラー値noneを直接指定しています。

print_r($RESARRAY1);
//Array([0]=>ActionScript [1]=>JavaScript)が出力されます。

print_r($ARRAY1);
//Array([0]=>PHP [1]=>perl [2]=>SQL [3]=>none [4]=>c)が出力されます。

■$offsetには負数も指定可能です。$offsetに負数を指定した場合には、最後尾から数えて末尾を算出します。(ただし、最後尾=-1となります。)

$ARRAY2 = array("PHP", "perl", "SQL", "ActionScript", "JavaScript", "c");
$RESARRAY2 = array_splice($ARRAY2, -5, 2, array("none", "none"));

print_r($RESARRAY2);
//Array([0]=>perl [1]=>SQL)が出力されます。

print_r($ARRAY2);
//Array([0]=>PHP [1]=>none [2]=>none [3]=>ActionScript [4]=>JavaScript [5]=>c)が出力されます。

投稿者 wing : 2005年12月02日 00:32

コメント