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

phparray_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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 0, 3);
  var_dump($res);
?>

Koda izpildes rezultāts:

php['a', 'b', 'c']

Piemērs

Izgriezīsim elementus no otrā (kuram ir numurs 1), 3 gabalus:

php<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1, 3);
  var_dump($res);
?>

Koda izpildes rezultāts:

php['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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, 1);
  var_dump($res);
?>

Koda izpildes rezultāts:

php['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<?php
  $arr = ['a', 'b', 'c', 'd', 'e'];
  
  $res = array_slice($arr, -2, 2);
  var_dump($res);
?>

Koda izpildes rezultāts:

php['d', 'e']

Piemērs

Pēc noklusējuma masīvs nesaglabā atslēgas izgriežot:

php<?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:

php['a', 'b', 'c']

Piemērs

Iestatīsim, lai atslēgas saglabājas. Šim nolūkam pēdējo parametru iestatīsim kā true:

php<?php
  $arr = [1 => 'a', 2 => 'b', 3 => 'c'];
  
  $res = array_slice($arr, 0, 3, true);
  var_dump($res);
?>

Koda izpildes rezultāts:

php[1 => 'a', 2 => 'b', 3 => 'c']

Piemērs

Virknes atslēgas tiek saglabātas izgriežot:

php<?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:

php['a' => 1, 'b' => 2, 'c' => 3]

Skatiet arī

  • funkciju array_splice,
    kura nogriež masīva daļu, mainot pašu masīvu