Funkcija array_slice
Funkcija array_slice nogriež un atgriež
masīva daļu. Pašu masīvu tā nemaina.
Pirmā parametrā norāda masīvu
sagriešanai. Otrajā parametrā norāda,
no kura elementa sākt nogriešanu, bet trešajā
- cik elementus nogriezt. Otrais parametrs
var būt negatīvs - šajā gadījumā
skaitīšana sāksies no beigām (-1 - pēdējais elements,
-2 - priekšpēdējais un tā tālāk). Trešo parametru
var vispār nenorādīt - šajā gadījumā
masīvs tiks nogriezts līdz pašām beigām.
Pēdējais neobligātais parametrs regulē
vai saglabāt atslēgas nogriežot, true -
saglabāt, false (pēc noklusējuma) - nesaglabāt.
Virknes atslēgas tiek saglabātas, neatkarīgi no
šī parametra vērtības.
Sintakse
array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
Piemērs
Izgriezīsim elementus no pirmā (kuram ir
numurs 0), 3 gabalus:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Koda izpildes rezultāts:
['a', 'b', 'c']
Piemērs
Izgriezīsim elementus no otrā (kuram ir
numurs 1), 3 gabalus:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Koda izpildes rezultāts:
['b', 'c', 'd']
Piemērs
Izgriezīsim elementus no otrā (kuram ir
numurs 1) līdz masīva beigām. Šim nolūkam trešo
parametru nerakstām:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Koda izpildes rezultāts:
['b', 'c', 'd', 'e']
Piemērs
Izgriezīsim elementus no priekšpēdējā,
2 gabalus. Šim nolūkam otro parametru
iestatīsim uz -2 (priekšpēdējā elementa
pozīcija):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Koda izpildes rezultāts:
['d', 'e']
Piemērs
Pēc noklusējuma masīvs nesaglabā atslēgas izgriežot:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c', 4 => 'd', 5 => 'c'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Koda izpildes rezultāts:
['a', 'b', 'c']
Piemērs
Iestatīsim, lai atslēgas saglabājas. Šim nolūkam pēdējo parametru iestatīsim kā true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Koda izpildes rezultāts:
[1 => 'a', 2 => 'b', 3 => 'c']
Piemērs
Virknes atslēgas tiek saglabātas izgriežot:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Koda izpildes rezultāts:
['a' => 1, 'b' => 2, 'c' => 3]
Skatiet arī
-
funkciju
array_splice,
kura nogriež masīva daļu, mainot pašu masīvu