Ds\Sequence::slice

(PECL ds >= 1.0.0)

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

描述

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

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

参数

index

子序列开始的索引。

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

length

如果指定了长度并且为正数,则结果序列将包含最多该数量的值。如果长度导致溢出,则仅包含序列末尾之前的值。如果指定了长度并且为负数,则序列将从末尾开始算起停止指定数量的值。如果未提供长度,则结果序列将包含从索引到序列末尾的所有值。

返回值

给定范围的子序列。

示例

示例 #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