(PHP 4, PHP 5, PHP 7, PHP 8)
array_splice — Efface et remplace une portion de tableau
Description
array_splice(
array
&$array,
int
$offset,
?int
$length =
null,
mixed
$replacement = []
): array
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 ou null comme
paramètre replacement.
Liste de paramètres
-
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é.
Astuce
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.
Valeurs de retour
Retourne un tableau contenant les éléments extrait.
Historique
Exemples
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);
?>
Voir aussi
- array_merge() - Fusionne plusieurs tableaux en un seul
- array_slice() - Extrait une portion de tableau
- unset() - Détruit une variable