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
)