Funzione array_splice
La funzione array_splice rimuove e restituisce
una parte di un array. La parte rimossa
scompare dall'array. Al posto della parte rimossa
è possibile inserire nuovi elementi.
Il primo parametro specifica l'array da tagliare. Il secondo parametro specifica da quale elemento iniziare il taglio, e il terzo - quanti elementi tagliare. Il terzo 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 del tutto - in questo caso l'array verrà tagliato fino alla fine.
Nell'ultimo parametro opzionale si può specificare un array di elementi che verranno inseriti al posto di quelli rimossi.
Sintassi
array_splice(array &$array, int $offset, ?int $length = null, mixed $replacement = []): array
Esempio
Rimuoviamo gli elementi a partire dal primo (ha
indice 0), 3 elementi:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 0, 3);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['a', 'b', 'c']
In questo caso l'array $arr diventerà:
['d', 'e']
Esempio
Rimuoviamo gli elementi a partire dal secondo (ha
indice 1), 3 elementi:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 3);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['b', 'c', 'd']
In questo caso l'array $arr diventerà:
['a', 'e']
Esempio
Rimuoviamo gli elementi a partire dal secondo (ha indice 1) fino alla fine dell'array. Per fare ciò non scriviamo il terzo parametro:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['b', 'c', 'd', 'e']
In questo caso l'array $arr diventerà:
['a']
Esempio
Rimuoviamo gli elementi a partire dal penultimo,
2 elementi. Per fare ciò impostiamo il secondo parametro
a -2 (posizione del penultimo
elemento):
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, -2, 2);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['d', 'e']
In questo caso l'array $arr diventerà:
['a', 'b', 'c']
Esempio
Rimuoviamo gli elementi a partire dal secondo (ha
indice 1), 2 elementi, e al loro posto inseriamo
gli elementi 1, 2, 3:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 2, [1, 2, 3]);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
['b', 'c']
In questo caso l'array $arr diventerà:
['a', 1, 2, 3, 'd', 'e']
Esempio
Non rimuoviamo nulla,
e inseriamo semplicemente gli elementi 1, 2,
3 a partire dalla posizione 1. Per
fare ciò impostiamo il terzo parametro a zero:
<?php
$arr = ['a', 'b', 'c', 'd', 'e'];
$res = array_splice($arr, 1, 0, [1, 2, 3]);
var_dump($res);
?>
Risultato dell'esecuzione del codice:
[]
In questo caso l'array $arr diventerà:
['a', 1, 2, 3, 'b', 'c', 'd', 'e']
Vedi anche
-
la funzione
array_slice,
che rimuove una parte di un array senza modificare l'array originale