Funkcija array_slice
Funkcija array_slice iškerpa ir grąžina
masyvo dalį. Tuo pat metu pats masyvas nesikeičia.
Pirmuoju parametru nurodomas masyvas skirtas
pjauti. Antruoju parametru nurodoma,
nuo kurio elemento pradėti kirpimą, o trečiuoju
- kiek elementų iškirpti. Antrasis parametras
gali būti neigiamas - šiuo atveju
skaičiavimas prasidės nuo galo (-1 - paskutinis elementas,
-2 - priešpaskutinis ir taip toliau). Trečiąjį parametrą
galima visai nenurodyti - šiuo atveju
massivas bus iškirptas iki pat pabaigos.
Paskutinis neprivalomas parametras reguliuoja
ar išsaugoti raktus kirpimo metu, true -
išsaugoti, false (pagal nutylėjimą) - neišsaugoti.
Įprastiniai raktai išsaugomi, nepriklausomai nuo
šio parametro reikšmės.
Sintaksė
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Pavyzdys
Iškirpkime elementus nuo pirmojo (turi
numerį 0), 3 vienetus:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kodo vykdymo rezultatas:
['a', 'b', 'c']
Pavyzdys
Iškirpkime elementus nuo antrojo (turi
numerį 1), 3 vienetus:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Kodo vykdymo rezultatas:
['b', 'c', 'd']
Pavyzdys
Iškirpkime elementus nuo antrojo (turi
numerį 1) iki masyvo pabaigos. Tam trečiasis
parametras nerašomas:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Kodo vykdymo rezultatas:
['b', 'c', 'd', 'e']
Pavyzdys
Iškirpkime elementus nuo priešpaskutinio,
2 vienetus. Tam antrasis parametras
nustatomas į -2 (priešpaskutinio
elemento pozicija):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Kodo vykdymo rezultatas:
['d', 'e']
Pavyzdys
Pagal nutylėjimą masyvas neišsaugo raktų iškirpimo metu:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kodo vykdymo rezultatas:
['a', 'b', 'c']
Pavyzdys
Padarykime taip, kad raktai būtų išsaugoti. Tam paskutinį parametrą nustatome kaip true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Kodo vykdymo rezultatas:
[1 => 'a', 2 => 'b', 3 => 'c']
Pavyzdys
Įprastiniai raktai išsaugomi iškirpimo metu:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Kodo vykdymo rezultatas:
['a' => 1, 'b' => 2, 'c' => 3]
Taip pat žiūrėkite
-
funkciją
array_splice,
kuri iškerpa masyvo dalį, tuo pat metu keičiant patį masyvą