PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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 引数によってキーの扱いも制御できます。連想配列や大きなデータセットの一部だけを扱いたい場合に非常に便利な関数なので、ぜひ活用してみてください。

  1. PHPのarray_slice()関数とは?配列の一部を切り出す方法を徹底解説

    PHPのarray_slice()関数は、配列から指定した範囲の要素を取り出し、新しい配列として返す関数です。元の配列は変更されず、必要な部分だけを簡単に抽出できるため、データ処理の現場で頻繁に活用されています。基本構文array_slice(arr, begin, length, preserve)パラメータの詳細arr − 処理対象となる配列を指定します。begin − 切り出しを開始する位置(オフセット)を指定します。負の値を指定した場合は配列の末尾から数えた位置になります。たとえば -1 を指定すると最後の要素から、-2 を指定すると後ろから2番目の要素から切り出しが始まります。len

  2. PHPのarray()関数とは?配列の作成方法をわかりやすく解説

    PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に