数组函数

PHP array_slice() 函数

主题:PHP 数组参考上一页|下一页

说明

array_slice() 函数提取数组的切片或部分。

下表总结了该函数的技术细节。

返回值: 返回数组的切片或部分。 如果 offset 参数的值大于数组的大小,则返回一个空数组。
变更日志:

在 PHP 5.2.4 中,长度参数的默认值已更改为 NULLNULL 长度现在告诉函数使用数组的长度。 以前,NULL 长度被认为是零长度(不会返回任何内容)。

PHP 5.0.2 中添加了可选的 preserve_keys 参数
版本: PHP 4+

语法

array_slice() 函数的基本语法如下:

array_slice(array, offset, length, preserve_keys)

下面的例子展示了 array_slice() 函数的作用。

<?php
// 样本数组
$fruits = array("apple", "banana", "orange", "mango", "papaya", "kiwi");

// 切片水果数组
$result = array_slice($fruits, 1, 3);
print_r($result);
?>

参数

array_slice() 函数接受以下参数。

参数 说明
array 必填。 指定要处理的数组。
offset

必填。 指定切片的起点(0 表示第一个元素)。

如果您指定一个负数,则起点将是最后一个元素之前的那么多元素,例如 -2 表示起点将是数组的倒数第二个元素。
length

可选。 指定要提取的元素数。

如果它的值设置为负数,那么切片将从数组末尾停止那么多元素。 如果不指定length参数,则返回数组起点到终点的所有元素。
preserve_keys

可选。 指定是否保留原始索引。

  • TRUE – 索引将被保留。
  • FALSE – 以数字方式重新索引切片元素。 这是默认设置。
始终保留字符串键,无论此参数如何。

更多示例

这里有更多示例显示 array_slice() 函数的基本工作原理:

以下示例显示如果 offset 参数为负数会发生什么。

<?php
// 样本数组
$colors = array("red", "green", "blue", "pink", "yellow", "black");

// 分割颜色数组
$result = array_slice($colors, -4, 2);
print_r($result);
?>

下面的例子展示了如果 offsetlength 参数都是负数会发生什么。

<?php
// 样本数组
$colors = array("red", "green", "blue", "pink", "yellow", "black");

// 分割颜色数组
$result = array_slice($colors, -3, -1);
print_r($result);
?>

以下示例显示了如果省略或未指定 length 参数会发生什么。

<?php
// 样本数组
$colors = array("red", "green", "blue", "pink", "yellow", "black");

// 分割颜色数组
$result = array_slice($colors, 2);
print_r($result);
?>

以下示例显示了如果 preserve_keys 参数设置为 true 会发生什么。

<?php
// 样本数组
$colors = array("red", "green", "blue", "pink", "yellow", "black");

// 分割颜色数组
$result = array_slice($colors, 2, 3, true);
print_r($result);
?>

以下示例显示了如果使用字符串键(即关联数组)会发生什么。

<?php
// 样本数组
$alphabets = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");

// 对字母数组进行切片
$result = array_slice($alphabets, 1, 2);
print_r($result);
?>
Advertisements