array_slice(array,offset,length,preserve) array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
如果 offset 非负,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。
如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。
注意:array_slice() 默认将重置数组的键。
参数
描述
array
必需。规定输入的数组。
offset
必需。数值。规定取出元素的开始位置。
如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值。
length
可选。数值。规定被返回数组的长度。
如果是负数,则从后向前,选取该值绝对值数目的元素。如果未设置该值,则返回所有元素。
preserve
可选。可能的值:
true - 保留键 false - 默认 - 重置键
演示范例:
例子 1
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?>
输出:
Array ( [0] => Cat [1] => Horse )
例子 2
带有负的 offset 参数:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?>
输出:
Array ( [0] => Horse )
例子 3
preserve 参数设置为 true:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2,true)); ?>
输出:
Array ( [1] => Cat [2] => Horse )
例子 4
带有字符串键:
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird"); print_r(array_slice($a,1,2)); ?>
输出:
Array ( [b] => Cat [c] => Horse )[1]
例子5:
<?php $alpha = array ("a", "b", "c", "d", "e", "f"); $second = array_slice($first, 2, 3); foreach ( $second as $var ) { print "$var<br />"; }
上面的代码将输出: ‘c’, ‘d’和‘e’