Ds\Map::slice
Ds\Map::slice
(PECL ds >= 1.0.0)
Ds\Map::slice — 返回由起始索引和长度定义的映射的子集。
描述
public Ds\Map Ds\Map::slice ( int $index [, int $length ] )
返回由起点index
和终点定义的地图的子集length
。
参数
index
范围开始处的索引。
如果为正数,范围将从地图中的该索引处开始。如果是负值,范围将从最后开始。
length
如果给定长度并且是正数,则生成的地图将具有多达其中的多对。如果给出长度并且是负数,则范围将从最后停止多对。如果长度导致溢出,则只包含直至地图末尾的配对。如果未提供长度,则生成的地图将包含索引与地图末端之间的所有对。
返回值
由起始索引和长度定义的映射的子集。
例子
示例#1 Ds\Map::slice() 示例
<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]
// Slice from 2 onwards
print_r($map->slice(2)->toArray()
// Slice from 1, for a length of 3
print_r($map->slice(1, 3)->toArray()
// Slice from 1 onwards
print_r($map->slice(1)->toArray()
// Slice from 2 from the end onwards
print_r($map->slice(-2)->toArray()
// Slice from 1 to 1 from the end
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
)
← Ds\Map::skip
Ds\Map::sort →