array_slice
(PHP 4, PHP 5)
array_slice — 配列の一部を展開する
説明
array array_slice
( array
$array
, int $offset
[, int $length = NULL
[, bool $preserve_keys = false
]] )
array_slice()は、array
から引数 offset および
length で指定された連続する要素を返します。
パラメータ
-
array -
入力の配列。
-
offset -
offsetが負の値ではない場合、要素位置の計算は、 配列arrayの offset から始められます。offsetが負の場合、要素位置の計算はarrayの最後から行われます。 -
length -
lengthが指定され、正の場合、 配列の要素の中から最大でその数までの要素を返します。 配列の要素数がlengthより少ない場合は、 配列から取得できる要素だけを返します。lengthが指定され、負の場合、配列の末尾から連続する複数の要素が返されます。 省略された場合、offsetから配列の最後までの全ての要素が返されます。 -
preserve_keys -
array_slice() はデフォルトで配列の数値キーを並べなおし、 リセットすることに注意してください。
preserve_keysをTRUEにする事でこの動作を変更することができます。
返り値
切り取った部分を返します。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.0.2 |
オプションのパラメータ preserve_keys が追加されました。
|
例
例1 array_slice() の例
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // "c", "d", "e" を返す
$output = array_slice($input, -2, 1); // "d" を返す
$output = array_slice($input, 0, 3); // "a", "b", "c" を返す
// 配列キーの違いに注意
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
上の例の出力は以下となります。
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)