PHP Conference Japan 2024

Ds\Map::slice

(PECL ds >= 1.0.0)

Ds\Map::slice 傳回由起始索引和長度定義的映射子集

說明

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

傳回由起始 indexlength 定義的映射子集。

參數

index

範圍起始的索引。

如果為正數,範圍將從映射中的該索引開始。如果為負數,範圍將從末尾開始算起。

length

如果給定長度且為正數,則結果映射最多包含這麼多個鍵值對。如果給定長度且為負數,則範圍將從末尾截斷這麼多個鍵值對。如果長度導致溢位,則只會包含到映射末尾的鍵值對。如果未提供長度,則結果映射將包含索引和映射末尾之間的所有鍵值對。

回傳值

由起始索引和長度定義的映射子集。

範例

範例 #1 Ds\Map::slice() 範例

<?php
$map
= new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);

// 從索引 2 開始切片
print_r($map->slice(2)->toArray());

// 從索引 1 開始切片,長度為 3
print_r($map->slice(1, 3)->toArray());

// 從索引 1 開始切片
print_r($map->slice(1)->toArray());

// 從倒數第 2 個開始切片
print_r($map->slice(-2)->toArray());

// 從索引 1 切片到倒數第 1 個
print_r($map->slice(1, -1)->toArray());
?>

上述範例將輸出類似以下的內容

Array
(
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top