PHP入門 配列関数 配列から特定範囲の要素を取得する(array_slice関数)
配列から特定範囲の要素だけを取り出すには、array_slice関数を利用します。
構文:array_slice関数
array_slice(array $array, int $offset [, ?int $length[, bool $preserve_keys = false]]):array
$array | 任意の配列 |
$offset | 抽出開始位置 |
$lenght | 取り出す要素数 |
$preserve_keys | 取得した要素のキーを維持するか |
array_slice関数は引数$arrayに直接影響を及ぼすものではありません。スライスされた結果は、戻り値として取得するだけです。
例:配列$dataから2から4番目の要素を取得します。
<?php
$data = ['山田', '田中', '鈴木','井上','和田'];
print_r(array_slice($data,2,3));
例:引数$preserve_keysをtrueにした場合
スライスした結果にももともとのインデックス番号が引き継がれます。
<?php
$data = ['山田', '田中', '鈴木','井上','和田'];
print_r(array_slice($data,2,3,true));
例:引数$lengthを省略した例
<?php
$data = ['山田', '田中', '鈴木','井上','和田'];
print_r(array_slice($data,4));
例:引数$offset、$lengthに負数を指定した例
この場合は、配列の末尾を-1として、そこからさかのぼって数えた位置をそれぞれ開始/終了位置とします。
<?php
$data = ['山田', '田中', '鈴木','井上','和田'];
print_r(array_slice($data,-4,-3));