PHP - BASIC - 10. PHPの配列を扱う関数 - 5. array_slice関数

array_slice 関数は配列の一部分を返却する関数です。次のプログラム( arr4.php )を作成してみましょう。

<?php
$array = ["Andy", "Betty", "Carol"];
$sliced_array = array_slice($array, 1);
print_r($sliced_array);

array_slice 関数は引数を2つ指定します。

  • 第1引数
    • 一部分の取得対象となる配列
  • 第2引数
    • 開始位置

さきほどのプログラムの場合は array_slice 関数の第1引数に $array 、第2引数に 1 を指定しています。この場合、 array_slice 関数は ["Andy", "Betty", "Carol"] という配列の 1 番目の要素以降を戻り値として返します。またここでは戻り値を受け取るために $sliced_array 変数を用意しています。最後に変数 $sliced_array には配列が代入されるので print_r 関数で出力しています。

それでは作成したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php arr4.php
Array
(
    [0] => Betty
    [1] => Carol
)

実行結果から ["Andy", "Betty", "Carol"] を要素番号が 1 番目以降の要素が配列として出力されているのがわかります。

また array_slice 関数の第3引数に開始位置からの要素数を指定することも可能です。さきほどのプログラム( arr4.php )を修正してみましょう。

<?php
$array = ["Andy", "Betty", "Carol"];
$sliced_array = array_slice($array, 1, 1);
print_r($sliced_array);

修正したプログラムを実行してみましょう。ターミナルから次のように実行します。

$ php arr4.php
Array
(
    [0] => Betty
)

実行結果から ["Andy", "Betty", "Carol"] の要素番号が 1 番目以降の要素について 1 つだけ取得し、配列として出力されているのがわかります。

  • array_slice — 配列の一部を展開する
  • 引数
    1. 一部分の取得対象となる配列
    2. 開始位置
    3. 開始位置からの要素数 (省略可能)
  • 戻り値
    • 切り取った配列