PHPのarray_slice()関数とは?配列の一部を切り出す方法を徹底解説
PHPのarray_slice()関数は、配列から指定した範囲の要素を取り出し、新しい配列として返す関数です。元の配列は変更されず、必要な部分だけを簡単に抽出できるため、データ処理の現場で頻繁に活用されています。
基本構文
array_slice(arr, begin, length, preserve)
パラメータの詳細
arr − 処理対象となる配列を指定します。
begin − 切り出しを開始する位置(オフセット)を指定します。負の値を指定した場合は配列の末尾から数えた位置になります。たとえば
-1を指定すると最後の要素から、-2を指定すると後ろから2番目の要素から切り出しが始まります。length − 取り出す要素数(長さ)を指定します。省略すると配列の末尾までが対象になります。負の値を指定した場合は、配列の末尾からその要素数分手前で切り出しが停止します。
preserve — 元の配列のキーを保持するかどうかを TRUE または FALSE で指定します。TRUE を設定すると元のキーが維持され、FALSE(デフォルト)の場合はキーが振り直されます。
戻り値
array_slice() 関数は、指定された範囲の要素を含む配列を返します。
使用例1:キーを保持して切り出す
以下の例では、3番目の要素(インデックス2)から3つの要素を、キーを保持したまま取り出しています。
<?php
$arr = array("laptop","mobile","tablet","pendrive","headphone");
print_r(array_slice($arr,2,3, true));
?>出力結果
Array ( [2] => tablet [3] => pendrive [4] => headphone )
第4引数に TRUE を指定しているため、元の配列のインデックス(2〜4)がそのまま維持されている点に注目してください。
使用例2:キーを振り直して切り出す
次の例では、1番目の要素(インデックス1)から3つの要素を、キーを振り直して取り出しています。
<?php
$arr = array("electronics","accessories","shoes","toys","bags");
print_r(array_slice($arr,1,3, false));
?>出力結果
Array ( [0] => accessories [1] => shoes [2] => toys )
第4引数に FALSE を指定しているため、結果の配列ではインデックスが 0 から振り直されています。
使用例3:負のオフセットを使う
begin に負の値を指定すると、配列の末尾から切り出し位置を決められます。
<?php
$arr = array("one","two","three","four");
print_r(array_slice($arr,-2));
?>出力結果
Array ( [0] => three [1] => four )
-2 を指定することで、後ろから2番目の要素「three」以降が取り出されました。length を省略しているため、配列の末尾まですべて取得されています。
まとめ
array_slice() 関数を使うことで、配列の任意の部分を柔軟に抽出できます。開始位置に負の値を指定すれば末尾基準での切り出しも可能で、preserve 引数によってキーの扱いも制御できます。連想配列や大きなデータセットの一部だけを扱いたい場合に非常に便利な関数なので、ぜひ活用してみてください。
-
PHPのarray_slice()関数とは?配列の一部を切り出す方法を徹底解説
PHPのarray_slice()関数は、配列から指定した範囲の要素を取り出し、新しい配列として返す関数です。元の配列は変更されず、必要な部分だけを簡単に抽出できるため、データ処理の現場で頻繁に活用されています。基本構文array_slice(arr, begin, length, preserve)パラメータの詳細arr − 処理対象となる配列を指定します。begin − 切り出しを開始する位置(オフセット)を指定します。負の値を指定した場合は配列の末尾から数えた位置になります。たとえば -1 を指定すると最後の要素から、-2 を指定すると後ろから2番目の要素から切り出しが始まります。len
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に