Az array_slice függvény
Az array_slice függvény kivág és visszaad
egy tömb egy részét. Közben maga a tömb nem változik.
Az első paraméterben a felvágandó tömböt adjuk meg.
A második paraméterben azt, hogy
melyik elemtől kezdődjenek a kivágás, a harmadik
paraméterben pedig azt, hogy hány elemet vágjunk ki. A második paraméter
lehet negatív - ebben az esetben
a számlálás a végétől kezdődik (-1 - az utolsó elem,
-2 - az utolsó előtti, és így tovább). A harmadik paramétert
egyáltalán nem kell megadni - ebben az esetben
a tömb a végéig ki lesz vágva.
Az utolsó, opcionális paraméter szabályozza,
hogy a kulcsok megmaradjanak-e a kivágás során, true -
megtartja, false (alapértelmezés) - nem tartja meg.
A sztring kulcsok mindig megmaradnak, függetlenül
ennek a paraméternek az értékétől.
Szintaxis
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Példa
Vágjuk ki az elemeket az elsőtől (sorszáma
0), 3 darabot:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['a', 'b', 'c']
Példa
Vágjuk ki az elemeket a másodiktól (sorszáma
1), 3 darabot:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['b', 'c', 'd']
Példa
Vágjuk ki az elemeket a másodiktól (sorszáma
1) a tömb végéig. Ehhez a harmadik
paramétert nem írjuk:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['b', 'c', 'd', 'e']
Példa
Vágjuk ki az elemeket az utolsó előttitől,
2 darabot. Ehhez a második paramétert
állítsuk -2-re (az utolsó előtti elem
pozíciója):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['d', 'e']
Példa
Alapértelmezetten a tömb nem őrzi meg a kulcsokat a kivágáskor:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['a', 'b', 'c']
Példa
Állítsuk be, hogy a kulcsok megmaradjanak. Ehhez az utolsó paramétert állítsuk true-ra:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
A kód végrehajtásának eredménye:
[1 => 'a', 2 => 'b', 3 => 'c']
Példa
A sztring kulcsok megmaradnak a kivágáskor:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
A kód végrehajtásának eredménye:
['a' => 1, 'b' => 2, 'c' => 3]
Lásd még
-
a
array_splicefüggvényt,
amely kivág egy részt a tömbből, miközben megváltoztatja magát a tömböt