(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
arrayne sont pas préservées.
Note: Si
replacementn'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 ounullcomme paramètrereplacement.
arrayLe 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
replacementne 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);
?>