(PECL ds >= 1.0.0)
Ds\Vector::slice — 傳回指定範圍的子向量
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));
// 從倒數第 2 個開始切片
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 )