array_splice

(PHP 4, PHP 5, PHP 7)

array_spliceEfface et remplace une portion de tableau

Description

array_splice ( array &$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 ou NULL comme paramètre replacement.

Liste de paramètres

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é.

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é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.

Valeurs de retour

Retourne un tableau contenant les éléments extrait.

Exemples

Exemple #1 Exemples avec array_splice()

<?php
$input 
= array("red""green""blue""yellow");
array_splice($input2);
var_dump($input);

$input = array("red""green""blue""yellow");
array_splice($input1, -1);
var_dump($input);

$input = array("red""green""blue""yellow");
array_splice($input1count($input), "orange");
var_dump($input);

$input = array("red""green""blue""yellow");
array_splice($input, -11, 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($inputcount($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($input01);

//insérer deux éléments au début de $input
array_unshift($input$x$y);
array_splice($input00, 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$x1$y);

?>

Voir aussi