Funzione array_slice

La funzione array_slice estrae e restituisce una parte di un array. L'array originale non viene modificato. Il primo parametro specifica l'array da dividere. Il secondo parametro specifica da quale elemento iniziare l'estrazione, mentre il terzo - quanti elementi estrarre. Il secondo parametro può essere negativo - in questo caso il conteggio inizierà dalla fine (-1 - ultimo elemento, -2 - penultimo e così via). Il terzo parametro può essere omesso - in questo caso l'array verrà estratto fino alla fine.

L'ultimo parametro opzionale regola se mantenere le chiavi durante l'estrazione, true - mantieni, false (predefinito) - non mantenere. Le chiavi stringa vengono sempre mantenute, indipendentemente dal valore di questo parametro.

Sintassi

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

Esempio

Estraiamo gli elementi dal primo (ha indice 0), 3 elementi:

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

Risultato dell'esecuzione del codice:

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

Esempio

Estraiamo gli elementi dal secondo (ha indice 1), 3 elementi:

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

Risultato dell'esecuzione del codice:

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

Esempio

Estraiamo gli elementi dal secondo (ha indice 1) fino alla fine dell'array. Per fare ciò omettiamo il terzo parametro:

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

Risultato dell'esecuzione del codice:

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

Esempio

Estraiamo gli elementi dal penultimo, 2 elementi. Per fare ciò il secondo parametro lo impostiamo a -2 (posizione del penultimo elemento):

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

Risultato dell'esecuzione del codice:

php['d', 'e']

Esempio

Per impostazione predefinita l'array non mantiene le chiavi durante l'estrazione:

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

Risultato dell'esecuzione del codice:

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

Esempio

Facciamo in modo che le chiavi vengano mantenute. Per fare ciò impostiamo l'ultimo parametro a true:

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

Risultato dell'esecuzione del codice:

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

Esempio

Le chiavi stringa vengono mantenute durante l'estrazione:

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

Risultato dell'esecuzione del codice:

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

Vedi anche

  • la funzione array_splice,
    che estrae una parte di un array, modificando l'array originale