Efface et remplace une portion de tableau
array array_splice (array input, int offset, int length , array replacement )
array_splice() supprime les éléments
désignés par offset et
length du tableau input et
les remplace par les éléments du tableau
replacement, si ce dernier est présent.
Si offset est positif, la série commencera
à cet offset dans le tableau input.
Si offset est négatif, cette série
commencera à l'offset offset mais en commençant
à la fin du tableau input.
Si length est donné et positif, alors la
série aura autant d'éléments. Si length
est donné et négatif, les éléments seront pris
dans l'ordre inverse.
Si length est omis, la séquence lira tous les
éléments du tableau, depuis l'offset offset
jusqu'à la fin du tableau.
Conseil : pour supprimer tous les éléments du tableau depuis
offset jusqu'à la fin, même si un tableau
de remplacement replacement est spécifié, utilisez
count(count($input)) à la place de length.
Si replacement est précisé, alors les
éléments supprimés sont remplacés par les
éléments de ce tableau. Si l'offset
et length sont tels que la taille du tableau ne change pas,
alors les éléments du tableau de remplacement replacement sont
insérés à partir de l'offset offset.
Conseil : si le tableau de remplacement ne contient qu'un seul
élément, il n'est pas obligatoire de forcer le type en
tableau avec array(), à moins que cette variable ne soit
elle-même un tableau.
Les codes suivants sont équivalents :
<?php
array_push($input, $x, $y) array_splice($input, count($input), 0, array($x, $y))
array_pop($input) array_splice($input, -1)
array_shift($input) array_splice($input, 0, 1)
array_unshift($input, $x, $y) array_splice($input, 0, 0, array($x, $y))
$a[$x] = $y array_splice($input, $x, 1, $y)
?>
array_splice() retourne le tableau des éléments
supprimés.
Exemples avec array_splice()
<?php
// cas simple
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, 2);
// $input est array("rouge", "vert")
// nombre d'éléments négatif
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, 1, -1);
// $input est array("rouge", "jaune")
// avec un élément de remplacement
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, 1, count($input), "orange");
// $input est array("rouge", "orange")
// cas complexe
$input = array("rouge", "vert", "bleu", "jaune");
array_splice($input, -1, 1, array("noir", "marron"));
// $input est array("rouge", "vert",
// "bleu", "noir", "marron")
?>
Voir aussi
array_slice().
Note :
array_splice() a été ajoutée
en PHP 4.0.