【PHP】array_sliceの使い方。配列を範囲指定して切り取る関数

PHPで、配列の範囲指定で切り取れる便利な関数、array_sliceの使い方をまとめました。

array_sliceの仕様

基本文法

array_slice($array, $offset [,$length = NULL [,$preserve_keys = false]]);

※[]内は省略可能な引数

各種引数の役割

第一引数 array(必須) 処理を行う配列です。
第二引数 offset(必須) 切り取る配列の0から数えた開始位置です。
0を選んだ場合、先頭から切り取ります。
-2など負数の場合は、配列の最後から数えた位置になります。
第三引数 length(任意) 切り取る件数を指定します。
初期値はNULLで、省略した場合、offsetで選んだ位置から末尾まですべての要素を返します。
負数の場合は、配列の末尾から数えた位置まで取得します。(0から数えないので注意)
第四引数 preserve_keys(任意) 取得した配列のキーを0からの連番にするか、元のキーを参照するかを指定します。
デフォルトはfalseで、元のキーは破棄され連番となります。

array_sliceのサンプルコード例

先頭から5件の配列を取得する

サンプルコード
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, 0, 5);
print_r($aryOutput);
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
)

0から数えて4つ目の位置から、2件の配列を取得する

サンプルコード
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, 4, 2);
print_r($aryOutput);
Array
(
    [0] => e
    [1] => f
)

0から数えて3つ目の位置から、末尾までの配列を取得する

サンプルコード
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, 3);
print_r($aryOutput);
Array
(
    [0] => d
    [1] => e
    [2] => f
    [3] => g
    [4] => h
    [5] => i
    [6] => j
)

末尾から4件の配列を取得する

サンプルコード
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, -4);
print_r($aryOutput);
Array
(
    [0] => g
    [1] => h
    [2] => i
    [3] => j
)

末尾から4つ目の位置から、末尾から2つ目までの配列を取得する

サンプルコード
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, -4, -1);
print_r($aryOutput);
Array
(
    [0] => g
    [1] => h
    [2] => i
)

0から数えて5つ目の位置から、3件の配列を取得し、元のキーを維持する

サンプルコード
$arySample = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
$aryOutput = array_slice($arySample, 5, 3, true);
print_r($aryOutput);
Array
(
    [5] => f
    [6] => g
    [7] => h
)

array_sliceの検証用入力フォーム

array_sliceの値からどのような値が返ってくるかを検証できるツールです。
引数を自由に入力してお試し下さい。

offset(必須)
length(省略化)
preserve_keys(省略化 省略時はfalse)

以上、array_sliceの使い方。配列を範囲指定して切り取る関数、でした。

コメント

タイトルとURLをコピーしました