array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始(这是什么意思)。
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, -1); // returns "e"
如果是距离末端‘e’开始左移一位的话,那不应是‘d’么??
当使用负偏移量时,array_slice() 从数组的末尾开始计算偏移量。因此,在上面的示例中,偏移量 -1 表示从数组的末尾开始往前数第一个元素,即最后一个元素 "e"。
举个例子,如果你想从数组的末尾开始往前取两个元素,你可以这样做:
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, -2, 2); // returns array("d", "e")
在这个例子中,偏移量 -2 表示从数组的末尾开始往前数第二个元素,即倒数第二个元素 "d"。然后,length 参数指定了要取的元素数,即 2。因此,array_slice() 返回了从偏移量 -2 开始的两个元素,即 array("d", "e")。