자료구조 Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice — 주어진 범위의 하위 시퀀스를 반환합니다.


설명

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

지정된 범위의 하위 시퀀스를 만듭니다.


매개변수

index
하위 시퀀스가 ​​시작되는 인덱스입니다.

양수인 경우 시퀀스는 시퀀스의 해당 인덱스에서 시작합니다. 음수이면 시퀀스가 ​​끝에서 멀리 시작됩니다.

length
길이가 지정되고 양수인 경우 결과 시퀀스에는 최대 값이 포함됩니다. 길이로 인해 오버플로가 발생하면 시퀀스 끝까지의 값만 포함됩니다. 길이가 지정되고 음수이면 시퀀스는 끝에서 많은 값을 중지합니다. 길이가 제공되지 않으면 결과 시퀀스에는 인덱스와 시퀀스 끝 사이의 모든 값이 포함됩니다.

반환 값

지정된 범위의 하위 시퀀스입니다.


Examples

예제 #1 Ds\Sequence::slice() 예제

                  
<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($sequence->slice(2));

// Slice from 1, for a length of 3
print_r($sequence->slice(1, 3));

// Slice from 1 onwards
print_r($sequence->slice(1));

// Slice from 2 from the end onwards
print_r($sequence->slice(-2));

// Slice from 1 to 1 from the end
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
)