(PECL ds >= 1.0.0)
Ds\Vector::slice — 返回给定范围的子向量
index
子向量开始的索引。
如果为正数,则向量将从向量中的该索引开始。如果为负数,则向量将从末尾开始计算该距离。
length
如果给出长度且为正数,则生成的向量最多包含这么多值。如果长度导致溢出,则只包含向量末尾之前的数值。如果给定的长度为负数,则向量将停止在距离末尾这么多值的地方。如果没有提供长度,则生成的向量将包含索引和向量末尾之间的所有值。
给定范围的子向量。
示例 #1 Ds\Vector::slice() 示例
<?php
$vector = new \Ds\Vector(["a", "b", "c", "d", "e"]);
// 从索引2开始切片
print_r($vector->slice(2));
// 从索引1开始,长度为3切片
print_r($vector->slice(1, 3));
// 从索引1开始切片到末尾
print_r($vector->slice(1));
// 从末尾第二个元素开始切片
print_r($vector->slice(-2));
// 从索引1开始切片到距离末尾1个元素的位置
print_r($vector->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 )