(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Efface et remplace une portion de tableau
array_splice() supprime les éléments
désignés par offset
et
length
du tableau array
et
les remplacent par les éléments du tableau
replacement
, si ce dernier est fourni.
Note:
Les clés numériques dans
array
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 inattendus lors de l'utilisation d'un objet ounull
comme paramètrereplacement
.
array
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
array
.
Si offset
est négatif, le début de la section
à supprimer sera à cette position en partant de la fin du tableau
array
.
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écessaire 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.
Version | Description |
---|---|
8.0.0 |
length est désormais nullable.
|
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);
?>