数组 函数
PHP Manual

array_slice

(PHP 4, PHP 5)

array_slice从数组中取出一段

说明

array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )

array_slice() 返回根据 offsetlength 参数所指定的 array 数组中的一段序列。

如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。

如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。

注意 array_slice() 默认将重置数组的键。自 PHP 5.0.2 起,可以通过将 preserve_keys 设为 TRUE 来改变此行为。

Example #1 array_slice() 例子

<?php
$input 
= array("a""b""c""d""e");

$output array_slice($input2);      // returns "c", "d", and "e"
$output array_slice($input, -21);  // returns "d"
$output array_slice($input03);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input2, -1));
print_r(array_slice($input2, -1true));
?>

以上例程会输出:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

参见 array_splice()unset()

Note: 使用此函数后会重置( reset())array 指针。

参数

array

The input array.

offset

If offset is non-negative, the sequence will start at that offset in the array. If offset is negative, the sequence will start that far from the end of the array.

length

If length is given and is positive, then the sequence will have up to that many elements in it. If the array is shorter than the length, then only the available array elements will be present. If length is given and is negative then the sequence will stop that many elements from the end of the array. If it is omitted, then the sequence will have everything from offset up until the end of the array.

preserve_keys

Note that array_slice() will reorder and reset the numeric array indices by default. You can change this behaviour by setting preserve_keys to TRUE.

返回值

Returns the slice.

更新日志

版本 说明
5.0.2 The optional preserve_keys parameter was added.

范例

Example #2 array_slice() examples

<?php
$input 
= array("a""b""c""d""e");

$output array_slice($input2);      // returns "c", "d", and "e"
$output array_slice($input, -21);  // returns "d"
$output array_slice($input03);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input2, -1));
print_r(array_slice($input2, -1true));
?>

以上例程会输出:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

参见


数组 函数
PHP Manual