(PECL ds >= 1.0.0)
Ds\Sequence::slice — 傳回指定範圍的子序列
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 )