Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄-ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°

ОписаниС

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄-ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ индСксом index ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ length.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

index

ИндСкс, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

Если ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Если ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π°.

length

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ опрСдСляСт, сколько элСмСнтов Π±ΡƒΠ΄Π΅Ρ‚ взято. Если количСство элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ мСньшС Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния, вСрнётся ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнтов, сколько Π΅ΡΡ‚ΡŒ. ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ задаст индСкс, отсчитанный ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ† Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. Если Π΄Π»ΠΈΠ½Π° Π½Π΅ Π·Π°Π΄Π°Π½Π°, Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ всС элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ индСкса Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Под-коллСкция ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Ds\Sequence::slice()

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

// Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 2 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
print_r($sequence->slice(2));

// Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 1 с Π΄Π»ΠΈΠ½ΠΎΠΉ 3
print_r($sequence->slice(1, 3));

// Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 1 Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°
print_r($sequence->slice(1));

// Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 2 с ΠΊΠΎΠ½Ρ†Π° Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π°
print_r($sequence->slice(-2));

// Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 1 ΠΎΡ‚ 1 с ΠΊΠΎΠ½Ρ†Π°
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
)
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы