PHP array_splice() 関数

要素を配列から削除し、新しい要素で置き換える:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
array_splice($a1,0,2,$a2);
print_r($a1);
?>

実行例

定義と使用法

array_splice() 関数は、配列から選択された要素を削除し、それを新しい要素で置き換え、削除された要素を含む配列を返します。

ヒント:関数が要素を削除しない場合(length=0)、 start 置き換えられた配列の位置にパラメータを挿入します(例2を参照)。

注記:置き換えられた配列のキー名を保持しません。

説明

array_splice() 関数は、 array_slice() この関数は、配列から一連の要素を選択しますが、返しません。代わりに、それらを削除し、他の値で置き換えます。

4番目のパラメータが提供された場合、先ほど選択された要素は、4番目のパラメータで指定された配列で置き換わります。

最終的に生成された配列が返されます。

構文

array_splice(array,start,length,array)
パラメータ 説明
array 必須。配列を指定します。
start

必須。数値。削除する要素の開始位置を指定します。

  • 0 = 第1要素。
  • 値が正数に設定されている場合、配列から指定されたオフセット量から移除します。
  • 値が負数に設定されている場合、配列の末端から指定されたオフセット量を逆方向に移除します。
  • -2 は配列の最後の 2番目の要素から始まることを意味します。
length

オプション。数値。削除される要素の数であり、返される配列の長さも指定します。

  • この値が正数の場合、指定された数の要素を削除します。
  • この値が負数の場合、start から配列の末尾までの長さが length の要素を削除します。
  • この値が設定されていない場合、start パラメータで設定された位置から配列の末尾までのすべての要素を削除します。
array

オプション。配列。元の配列に挿入する要素を持つ配列を指定します。

要素が 1 つだけの場合は、文字列として設定できます。配列として設定する必要はありません。

技術的詳細

返り値: 抽出された要素で構成される配列を返します。
PHP バージョン: 4+

さらに例

例 1

このページの前半部分の例と同様ですが、返される配列を出力します:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>

実行例

例 2

length パラメータを 0 に設定します:

<?php
$a1=array("0"=>"red","1"=>"green");
$a2=array("0"=>"purple","1"=>"orange");
array_splice($a1,1,0,$a2);
print_r($a1);
?>

実行例