PHP Conference Japan 2024

Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice 返回给定范围的子序列

描述

抽象 公共 Ds\Sequence::slice(int $index, int $length = ?): Ds\Sequence

创建一个给定范围的子序列。

参数

索引

子序列开始的索引。

如果为正,则序列将从序列中的该索引开始。如果为负,则序列将从末尾开始。

长度

如果给定长度并且为正,则结果序列最多包含这么多值。如果长度导致溢出,则仅包含序列末尾之前的全部值。如果给定长度并且为负,则序列将在距离末尾指定数量的值处停止。如果没有提供长度,则结果序列将包含索引和序列末尾之间的所有值。

返回值

给定范围的子序列。

示例

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

<?php
$sequence
= new \Ds\Vector(["a", "b", "c", "d", "e"]);

// 从 2 开始切片
print_r($sequence->slice(2));

// 从 1 开始切片,长度为 3
print_r($sequence->slice(1, 3));

// 从 1 开始切片
print_r($sequence->slice(1));

// 从末尾的第 2 个位置开始切片
print_r($sequence->slice(-2));

// 从 1 切片到末尾的第 1 个位置
print_r($sequence->slice(1, -1));
?>

以上示例将输出类似以下内容

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
添加注释

用户贡献的注释

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