PHP: 配列の要素を削除する(先頭・末尾・途中)
PHPで配列から要素を削除する場合の記述方法を説明します。
先頭を削除
配列の先頭の要素を削除する場合は、array_shift()関数を使います。
array_shift(配列)
戻り値は削除した先頭要素の値です。
削除すると配列のインデックス(添字)は0からの連番で振りなおされます。
$arr = [10, 20, 30]; array_shift($arr); print_r($arr); // 実行結果 Array ( [0] => 20 [1] => 30 )
末尾を削除
配列の末尾の要素を削除する場合は、array_pop()関数を使います。
array_pop(配列)
戻り値は削除した末尾要素の値です。
$arr = [10, 20, 30]; array_pop($arr); print_r($arr); // 実行結果 Array ( [0] => 10 [1] => 20 )
途中を削除
配列の途中の要素を削除する場合は、array_splice()関数を使います。
書式
array_splice(配列, 削除開始の要素番号, 要素数)
戻り値は削除した要素の配列です。削除した要素数が1つの場合でも配列が戻されます。
削除すると配列のインデックス(添字)は0からの連番で振りなおされます。
下はarray_splice()関数を使った削除の例です。 配列と戻り値のそれぞれを print_r() で表示しています。
$arr = [10, 20, 30, 40, 50]; $ret = array_splice($arr, 1, 2); echo "--- 配列 ---" . " \n"; print_r($arr); echo "--- 戻り値 ---" . " \n"; print_r($ret); // 実行結果 --- 配列 --- Array ( [0] => 10 [1] => 40 [2] => 50 ) --- 戻り値 --- Array ( [0] => 20 [1] => 30 )