配列の要素を削除・置換 - array_splice()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、指定した位置から配列の要素を削除・置換する関数 array_splice()を紹介します。
array_splice関数
array array_splice ( array &$input , int $offset [, int $length [, mixed $replacement = array() ]] )
指定した位置から配列の要素を削除・置換します。
引数 &$input 配列を削除・置換する配列を指定します。 参照渡し(&が付いてる)なので、引数として渡した変数自体の値が変化します。 $offset 要素の位置を指定します。 指定した値が負の値の場合、配列の末尾から逆回りで位置を数えます。 $length 取得する要素の数を指定します。省略した場合は「$offset」から最後まで。 $replacement 置換する配列を指定します。
返り値
削除する要素を含む配列を返します。
サンプルコード - 配列の要素を削除
指定した位置から配列の要素を削除するサンプルコードです。
array_splice( 配列, 削除を開始する位置 )
<?php /* 配列を定義 */ $a = array('い', 'ろ', 'は', 'に', 'ほ', 'へ', 'と'); print_r($a); /* 指定した位置から配列を削除 */ print_r( array_splice($a, 2) ); print_r($a); ?>
実行結果です。
Array ( [0] => い [1] => ろ [2] => は [3] => に [4] => ほ [5] => へ [6] => と ) Array ( [0] => は [1] => に [2] => ほ [3] => へ [4] => と ) Array ( [0] => い [1] => ろ )
array_splice() の返り値として削除する要素を含む配列が返されます。指定した配列「$a」は要素が削除されています。
サンプルコード - 配列の要素を置換
指定した位置から配列の要素を削除・置換するサンプルコードです。
array_splice( 配列, 削除を開始する位置, 要素の数, 置換する配列 )
<?php /* 配列を定義 */ $a = array('い', 'ろ', 'は', 'に', 'ほ', 'へ', 'と'); $b = array('あ', 'い', 'う'); /* 指定した位置から配列を削除 */ print_r( array_splice($a, 2, 4, $b) ); print_r($a); ?>
実行結果です。
Array ( [0] => い [1] => ろ [2] => は [3] => に [4] => ほ [5] => へ [6] => と ) Array ( [0] => は [1] => に [2] => ほ [3] => へ ) Array ( [0] => い [1] => ろ [2] => あ [3] => い [4] => う [5] => と )
配列の要素が削除され、指定した配列「$b」に置換されていることがわかります。