(PHP 4, PHP 5, PHP 7)
array_slice — 从数组中取出一段
$array
, int $offset
[, int $length = NULL
[, bool $preserve_keys = false
]] )
array_slice() 返回根据 offset 和
length 参数所指定的 array
数组中的一段序列。
array输入的数组。
offset
如果 offset 非负,则序列将从 array
中的此偏移量开始。如果 offset 为负,则序列将从
array 中距离末端这么远的地方开始。
length
如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了
length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从
offset 开始一直到 array 的末端。
preserve_keys
注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将
preserve_keys 设为 TRUE 来改变此行为。
返回其中一段。 如果 offset 参数大于 array 尺寸,就会返回空的 array。
| 版本 | 说明 |
|---|---|
| 5.2.4 |
length 参数默认值改成 NULL。
现在 length 为 NULL 时,意思是说使用 array 的长度。
之前的版本里, NULL 的 length
的意思是长度为零(啥也不返回)。
|
| 5.0.2 |
增加了可选参数 preserve_keys 。
|
Example #1 array_slice() 例子
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // returns "c", "d", and "e"
$output = array_slice($input, -2, 1); // returns "d"
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
// note the differences in the array keys
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
)