Ds\Map::slice

(PECL ds >= 1.0.0)

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

描述

public Ds\Map::slice(int $index, int $length = ?): Ds\Map

返回由起始 indexlength 定义的映射子集。

参数

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
)
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top