在线文档教程
PHP
数据结构 | Data Structures

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 →