(PECL ds >= 1.0.0)
Ds\Sequence::slice — 返回给定范围的子序列
索引
子序列开始的索引。
如果为正,则序列将从序列中的该索引开始。如果为负,则序列将从末尾开始。
长度
如果给定长度并且为正,则结果序列最多包含这么多值。如果长度导致溢出,则仅包含序列末尾之前的全部值。如果给定长度并且为负,则序列将在距离末尾指定数量的值处停止。如果没有提供长度,则结果序列将包含索引和序列末尾之间的所有值。
给定范围的子序列。
示例 #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 )