array_slice 从数组中取出一段

发表日期:2021-07-01 08:57:08 | 来源: | | 浏览(720) 分类:数组 函数

array_slice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_slice从数组中取出一段

说明

array_slice(
    array $array,
    int $offset,
    int $length = null,
    bool $preserve_keys = false
): array

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

参数

array

输入的数组。

offset

如果 offset 非负,则序列将从 array 中的此偏移量开始。

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

注意:

参数 offset 标识的是数组中的位置,而不是键。

length

如果给出了 length 并且为正,则序列中将具有这么多的单元。

如果 array 比 length 要短,只会保留有效的数组单元。

如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。

如果省略,则序列将从 offset 开始一直到 array 的末端。

preserve_keys

注意:

注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将 preserve_keys 设为 true 来改变此行为。 无论本参数如何设置,都会保留字符串的键。

返回值

返回其中一段。 如果 offset 参数大于 array 尺寸,就会返回空的 array。

范例

示例 #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 keysprint_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

以上例程会输出:

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

示例 #2 array_slice() 于索引从 1 开始的 array

<?php 
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>

以上例程会输出:

Array
(
    [0] => b
    [1] => c
)

示例 #3 array_slice() 与混合类型键的 array

<?php 
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>

以上例程会输出:

Array
(
    [a] => apple
    [b] => banana
    [0] => pear
)
Array
(
    [a] => apple
    [b] => banana
    [42] => pear
)

参见

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。