📜  PHP Ds\Map slice()函数

📅  最后修改于: 2022-05-13 01:57:40.195000             🧑  作者: Mango

PHP Ds\Map slice()函数

PHP Ds\Map 类的Ds\Map::slice()函数用于获取指定 Map 实例的子集。该方法从 Map 实例返回包含从特定索引开始到指定长度的元素的子集。

句法:

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

参数:此函数接受两个参数,如下所述:

  • $index:该参数指定子集中元素将返回的索引。该参数可以为正也可以为负。如果 $index 为正,则范围从 Map 的前面计算,如果为负,则索引从末尾开始计算。
  • $length:这是一个可选参数。如果未指定 $length,则子集中的元素将从起始索引到 Map 的结尾。如果指定了长度,则返回的子集将包含从 Map 中的 $index 开始到指定长度的元素。例如,如果 $index = 2 且 $length = 4,则子集将包含 4 个元素,从实际 Map 实例中索引 2 处的元素开始。

返回值:该方法从 Map 实例返回包含从特定索引开始到指定长度的元素的子集。

下面的程序说明了Ds\Map::slice()函数:



方案一:

 10, 2 => 20, 3 => 30,
                    4 => 40, 5 => 50, 6 => 60]);
  
// When index is positive and length is not 
// specified
print_r($map->slice(4));
  
// When index is negative and length is not 
// specified
print_r($map->slice(-4));
  
?>

输出:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 5
            [value] => 50
        )

    [1] => Ds\Pair Object
        (
            [key] => 6
            [value] => 60
        )

)
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 3
            [value] => 30
        )

    [1] => Ds\Pair Object
        (
            [key] => 4
            [value] => 40
        )

    [2] => Ds\Pair Object
        (
            [key] => 5
            [value] => 50
        )

    [3] => Ds\Pair Object
        (
            [key] => 6
            [value] => 60
        )

)

方案二:

 10, 2 => 20, 3 => 30,
                    4 => 40, 5 => 50, 6 => 60]);
  
// When index is positive and length is  
// specified
print_r($map->slice(2, 2));
  
// When index is negative and length is 
// specified
print_r($map->slice(-2, 2));
  
?>

输出:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 3
            [value] => 30
        )

    [1] => Ds\Pair Object
        (
            [key] => 4
            [value] => 40
        )

)
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 5
            [value] => 50
        )

    [1] => Ds\Pair Object
        (
            [key] => 6
            [value] => 60
        )

)

参考文献:http:// PHP.NET /手动/ EN / DS-map.slice。 PHP