(PHP 4, PHP 5, PHP 7)
array_splice — Efface et remplace une portion de tableau
&$input
, int $offset
[, int $length
= count($input)
[, mixed $replacement
= array()
]] ) : array
array_splice() supprime les éléments
désignés par offset
et
length
du tableau input
et
les remplacent par les éléments du tableau
replacement
, si ce dernier est fourni.
Note:
Les clés numériques dans
input
ne sont pas préservées.
Note: Si
replacement
n'est pas un tableau, il en deviendra un par transtypage (i.e.(array) $replacement
). Cela peut produire des résultats innatendus lors de l'utilisation d'un objet ouNULL
comme paramètrereplacement
.
input
Le tableau d'entrée.
offset
Si offset
est positif, le début de la section
à supprimer sera à cette position en partant du début du tableau
input
.
Si offset
est négatif, le début de la section
à supprimer sera à cette position en partant de la fin du tableau
input
.
length
Si length
est omis, tous les éléments du tableau
depuis la position offset
jusqu'à la fin du
tableau seront supprimés.
Si length
est fourni et positif,
alors autant d'éléments seront supprimés.
Si length
est fourni et négatif,
alors autant d'éléments seront supprimés de la fin du tableau.
Si length
est fourni et vaut zéro,
alors aucun élément sera supprimé.
Pour tout supprimer depuis la position offset
jusqu'à la fin du tableau lorsque replacement
est aussi fourni, utiliser count($input)
pour length
.
replacement
Si le tableau replacement
est fourni, alors les
éléments supprimés sont remplacés par les éléments de ce tableau.
Si l'offset
et length
sont tels que rien est supprimé, alors les éléments du tableau
replacement
sont insérés à la position
offset
.
Note:
Les clés du tableau
replacement
ne sont pas préservées.
Si replacement
est seulement un élément il n'est pas
néccessaire d'entourer l'élément avec array() ou des crochets,
à moins que l'élément ne soit lui-même un tableau, un objet ou NULL
.
Retourne un tableau contenant les éléments extrait.
Exemple #1 Exemples avec array_splice()
<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);
$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);
?>
L'exemple ci-dessus va afficher :
array(2) { [0]=> string(3) "red" [1]=> string(5) "green" } array(2) { [0]=> string(3) "red" [1]=> string(6) "yellow" } array(2) { [0]=> string(3) "red" [1]=> string(6) "orange" } array(5) { [0]=> string(3) "red" [1]=> string(5) "green" [2]=> string(4) "blue" [3]=> string(5) "black" [4]=> string(6) "maroon" }
Exemple #2 Déclaration équivalentes à des exemples de array_splice() divers
Les déclarations suivantes sont équivalentes :
<?php
// ajouter deux éléments à $input
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));
// supprimer le dernier élément à $input
array_pop($input);
array_splice($input, -1);
// supprimer le premier élément à $input
array_shift($input);
array_splice($input, 0, 1);
//insérer deux éléments au début de $input
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));
// remplace la valeur dans $input à l'index $x
$input[$x] = $y; // pour les tableaux dont les clés sont égales à l'offset
array_splice($input, $x, 1, $y);
?>