(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
)