2024 年日本 PHP 研討會

Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice 傳回指定範圍的子序列

說明

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

建立指定範圍的子序列。

參數

index

子序列開始的索引。

如果是正數,序列將從序列中的該索引開始。如果是負數,序列將從末尾開始倒數該數量的位置。

length

如果給定 length 且為正數,則結果序列最多包含這麼多個值。如果 length 導致溢位,則只包含到序列末尾的值。如果給定 length 且為負數,則序列將在距離末尾這麼多個值的位置停止。如果未提供 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