2024年PHP开发者大会日本站

Ds\Vector::slice

(PECL ds >= 1.0.0)

Ds\Vector::slice返回给定范围的子向量

描述

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

创建一个给定范围的子向量。

参数

index

子向量开始的索引。

如果为正数,则向量将从向量中的该索引开始。如果为负数,则向量将从末尾开始计算该距离。

length

如果给出长度且为正数,则生成的向量最多包含这么多值。如果长度导致溢出,则只包含向量末尾之前的数值。如果给定的长度为负数,则向量将停止在距离末尾这么多值的地方。如果没有提供长度,则生成的向量将包含索引和向量末尾之间的所有值。

返回值

给定范围的子向量。

示例

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

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

// 从索引2开始切片
print_r($vector->slice(2));

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

// 从索引1开始切片到末尾
print_r($vector->slice(1));

// 从末尾第二个元素开始切片
print_r($vector->slice(-2));

// 从索引1开始切片到距离末尾1个元素的位置
print_r($vector->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