PHP: 範囲指定して配列の要素を取り出す(スライス)array_slice()

スライス(範囲指定)array_slice()

PHPで配列の一部を取り出したい場合は、array_slice()関数を使います。

書式
array_slice(配列, 開始位置 [, 要素数])

戻り値は取り出した配列です。
要素数を省略した場合は開始位置から最後まで取得します。
array_slice()関数で要素を取得しても、 元の配列の内容が削除されることはありません。

array_splice()関数との違い

似た名前の関数として、array_splice()関数があります。 array_splice()関数は、要素を削除したり追加する場合に使用します。 関数の実行後は配列の内容が変わります。
一方、array_slice()は要素を取り出すだけなので、 配列の内容に変更はありません。

$arr = [10, 20, 30, 40, 50];

$ret = array_slice($arr, 1, 2);

print_r($ret);

// 実行結果
Array
(
    [0] => 20
    [1] => 30
)

第3引数の要素数を省略した場合は開始位置から最後まで取得できます。

$arr = [10, 20, 30, 40, 50];

$ret = array_slice($arr, 2);

print_r($ret);

// 実行結果
Array
(
    [0] => 30
    [1] => 40
    [2] => 50
)