Funktio array_slice

Funktio array_slice leikkaa ja palauttaa osan taulukosta. Itse taulukko ei muutu. Ensimmäisenä parametrina määritetään leikattava taulukko. Toisena parametrina määritetään, mistä alkiosta leikkaus aloitetaan, ja kolmantena - kuinka monta alkiota leikataan. Toinen parametri voi olla negatiivinen - tässä tapauksessa laskenta alkaa lopusta (-1 - viimeinen alkio, -2 - toiseksi viimeinen jne.). Kolmatta parametria ei tarvitse lainkaan määrittää - tässä tapauksessa taulukko leikataan aina loppuun asti.

Viimeinen valinnainen parametri säätelee säilytetäänkö avaimet leikkaamisen yhteydessä, true - säilytä, false (oletusarvo) - älä säilytä. Merkkijonoavaimet säilytetään riippumatta tämän parametrin arvosta.

Syntaksi

phparray_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array

Esimerkki

Leikataan alkiot ensimmäisestä (sen numero on 0), 3 kappaletta:

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

Koodin suorituksen tulos:

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

Esimerkki

Leikataan alkiot toisesta (sen numero on 1), 3 kappaletta:

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

Koodin suorituksen tulos:

php['b', 'c', 'd']

Esimerkki

Leikataan alkiot toisesta (sen numero on 1) taulukon loppuun asti. Tätä varten kolmatta parametria ei kirjoiteta:

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

Koodin suorituksen tulos:

php['b', 'c', 'd', 'e']

Esimerkki

Leikataan alkiot toiseksi viimeisestä, 2 kappaletta. Tätä varten toinen parametri asetetaan arvoon -2 (toiseksi viimeisen alkion sijainti):

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

Koodin suorituksen tulos:

php['d', 'e']

Esimerkki

Oletusarvoisesti taulukko ei säilytä avaimia leikkaamisen yhteydessä:

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

Koodin suorituksen tulos:

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

Esimerkki

Tehdään niin, että avaimet säilyvät. Tätä varten viimeinen parametri asetetaan arvoon true:

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

Koodin suorituksen tulos:

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

Esimerkki

Merkkijonoavaimet säilyvät leikkaamisen yhteydessä:

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

Koodin suorituksen tulos:

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

Katso myös

  • funktion array_splice,
    joka leikkaa osan taulukosta muuttaen samalla itse taulukkoa