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
array_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
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 0, 3);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['a', 'b', 'c']
Esempio
Estraiamo gli elementi dal secondo (ha
indice 1), 3 elementi:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1, 3);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['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
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, 1);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['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
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_slice($arr, -2, 2);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['d', 'e']
Esempio
Per impostazione predefinita l'array non mantiene le chiavi durante l'estrazione:
<?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:
['a', 'b', 'c']
Esempio
Facciamo in modo che le chiavi vengano mantenute. Per fare ciò impostiamo l'ultimo parametro a true:
<?php
$arr = [1 => 'a', 2 => 'b', 3 => 'c'];
$res = array_slice($arr, 0, 3, true);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
[1 => 'a', 2 => 'b', 3 => 'c']
Esempio
Le chiavi stringa vengono mantenute durante l'estrazione:
<?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:
['a' => 1, 'b' => 2, 'c' => 3]
Vedi anche
-
la funzione
array_splice,
che estrae una parte di un array, modificando l'array originale