首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ds\Map::slice

(PECL ds >= 1.0.0)

Ds\Map::slice — 返回由起始索引和长度定义的映射的子集。

描述

代码语言:javascript
复制
public Ds\Map Ds\Map::slice ( int $index [, int $length ] )

返回由起点index和终点定义的地图的子集length

参数

index

范围开始处的索引。

如果为正数,范围将从地图中的该索引处开始。如果是负值,范围将从最后开始。

length

如果给定长度并且是正数,则生成的地图将具有多达其中的多对。如果给出长度并且是负数,则范围将从最后停止多对。如果长度导致溢出,则只包含直至地图末尾的配对。如果未提供长度,则生成的地图将包含索引与地图末端之间的所有对。

返回值

由起始索引和长度定义的映射的子集。

例子

示例#1 Ds\Map::slice() 示例

代码语言:javascript
复制
<?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());
?>

上面的例子会输出类似于:

代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券