Ds\Map::slice()
函式用於從 Map
中提取一段指定範圍的鍵值對,並返回一個新的 Map
物件。
用法:
Ds\Map::slice(int $index, int|null $length = null): Ds\Map
引數:
$index
:開始提取的索引位置。如果為負數,則從末尾開始計算。$length
(可選):要提取的長度。如果未提供該引數,則提取從$index
位置到末尾的所有元素。
返回值:
- 返回一個新的
Map
物件,包含從原始Map
中提取的鍵值對。
示例:
$map = new Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);
// 提取索引位置為1開始的2個元素
$slice1 = $map->slice(1, 2);
print_r($slice1);
// 輸出: Ds\Map Object ( [b] => 2 [c] => 3 )
// 提取索引位置為-3開始到末尾的所有元素
$slice2 = $map->slice(-3);
print_r($slice2);
// 輸出: Ds\Map Object ( [c] => 3 [d] => 4 [e] => 5 )
在以上示例中,我們建立了一個包含五個鍵值對的 Map
(鍵名為 "a" 到 "e"),然後使用 slice()
函式提取了兩個不同範圍的子集。第一個示例提取了索引位置從1開始的2個元素,而第二個示例提取了索引位置從倒數第3個開始到末尾的所有元素。兩個示例都建立了一個新的 Map
物件,其中只包含提取的鍵值對。