array_slice

PHP内置的函数有几百个,其中数组和字符串函数占据了一大部分,好多都是有印象但没怎么用过,今天就来聊聊array_slice函数!

一、定义

  1. 功能:从数组中取出一段
  2. 用法:array_slice(array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]]):array
  3. 说明:返回根据offsetlength参数所指定的array数组中的一段序列。
  4. 参数
    • array:输入的数组。
    • offset:
    • 如果offset非负,则序列将从array中的此偏移量开始。
    • 如果offset为负,则序列将从array中距离末端这么远的地方开始。
    • length:
    • 如果给出了length并且为正,则序列中将具有这么多的单元。
    • 如果给出了length并且为负,则序列将终止在距离数组末端这么远的地方。
    • 如果省略,则序列将从offset开始一直到array的末端。
    • preserve_keys:注意array_slice()默认会重新排序并重置数组的数字索引。你可以通过将preserve_keys设为TRUE来改变此行为。
  5. 注意事项
    • 如果offset参数大于array尺寸,就会返回空的array

二、demo

1
2
3
4
5
6
7
8
9
$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));

参考

  1. array_slice