(PECL ds >= 1.0.0)
Ds\Map::slice — 返回由起始索引和长度定义的地图子集
index
范围起始的索引。
如果为正数,则范围将从地图中的该索引开始。如果为负数,则范围将从末尾开始该距离。
length
如果给出长度并且为正数,则结果地图最多将包含那么多对。如果给出长度并且为负数,则范围将停止地图末尾的那么多对。如果长度导致溢出,则只包含地图末尾之前的对。如果没有提供长度,则结果地图将包含索引和地图末尾之间的所有对。
由起始索引和长度定义的地图子集。
示例 #1 Ds\Map::slice() 示例
<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);
// 从2开始切片
print_r($map->slice(2)->toArray());
// 从1开始切片,长度为3
print_r($map->slice(1, 3)->toArray());
// 从1开始切片
print_r($map->slice(1)->toArray());
// 从末尾的2开始切片
print_r($map->slice(-2)->toArray());
// 从1到末尾的1切片
print_r($map->slice(1, -1)->toArray());
?>
以上示例的输出类似于
Array ( [c] => 3 [d] => 4 [e] => 5 ) Array ( [b] => 2 [c] => 3 [d] => 4 ) Array ( [b] => 2 [c] => 3 [d] => 4 [e] => 5 ) Array ( [d] => 4 [e] => 5 ) Array ( [b] => 2 [c] => 3 [d] => 4 )