(PECL ds >= 1.0.0)
Ds\Sequence::slice — 返回给定范围的子序列
index
子序列开始的索引。
如果为正数,则序列将从序列中的该索引开始。如果为负数,则序列将从末尾开始算起。
length
如果指定了长度并且为正数,则结果序列将包含最多该数量的值。如果长度导致溢出,则仅包含序列末尾之前的值。如果指定了长度并且为负数,则序列将从末尾开始算起停止指定数量的值。如果未提供长度,则结果序列将包含从索引到序列末尾的所有值。
给定范围的子序列。
示例 #1 Ds\Sequence::slice() 示例
<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);
// 从 2 开始切片
print_r($sequence->slice(2));
// 从 1 开始切片,长度为 3
print_r($sequence->slice(1, 3));
// 从 1 开始切片
print_r($sequence->slice(1));
// 从末尾开始算起从 2 开始切片
print_r($sequence->slice(-2));
// 从 1 切片到末尾开始算起 1
print_r($sequence->slice(1, -1));
?>
上面的示例将输出类似于以下内容
Ds\Vector Object ( [0] => c [1] => d [2] => e ) Ds\Vector Object ( [0] => b [1] => c [2] => d ) Ds\Vector Object ( [0] => b [1] => c [2] => d [3] => e ) Ds\Vector Object ( [0] => d [1] => e ) Ds\Vector Object ( [0] => b [1] => c [2] => d )