Manuel PHP
Précédent |  | Suivant

# array_splice

(PHP 4, PHP 5)

array_splice -- Efface et remplace une portion de tableau

## Description

array array_splice ( array &input, int offset [, int length [, array replacement]] )

array_splice() supprime les éléments désignés par `offset` et `length` du tableau `input` et les remplace par les éléments du tableau `replacement`, si ce dernier est présent. Cette fonction retourne un tableau contenant les éléments ainsi remplacés. Notez que les clés numériques de `input` ne sont pas préservées.

Si `offset` est positif, la série commencera à cet offset dans le tableau `input`. Si `offset` est négatif, cette série commencera à l'offset `offset` mais en commençant à la fin du tableau `input`.

Si `length` est donné et positif, alors la série aura autant d'éléments. Si `length` est donné et négatif, les éléments seront pris dans l'ordre inverse. Si `length` est omis, la séquence lira tous les éléments du tableau, depuis l'offset `offset` jusqu'à la fin du tableau. Conseil : pour supprimer tous les éléments du tableau depuis `offset` jusqu'à la fin, même si un tableau de remplacement `replacement` est spécifié, utilisez `count($input)` à la place de `length`.

Si `replacement` est précisé, alors les éléments supprimés sont remplacés par les éléments de ce tableau. Si l'`offset` et `length` sont tels que la taille du tableau ne change pas, alors les éléments du tableau de remplacement `replacement` sont insérés à partir de l'offset `offset`. si le tableau de remplacement `replacement` ne contient qu'un seul élément, il n'est pas obligatoire de forcer le type en tableau avec array(), à moins que cette variable ne soit elle-même un tableau.

Les codes suivants sont équivalents :

Tableau 1. Equivalents de array_splice()

`array_push($input, $x, $y)` | `array_splice($input, count($input), 0, array($x, $y))`
`array_pop($input)` | `array_splice($input, -1)`
`array_shift($input)` | `array_splice($input, 0, 1)`
`array_unshift($input, $x, $y)` | `array_splice($input, 0, 0, array($x, $y))`
`$a[$x] = $y` | `array_splice($input, $x, 1, $y)`

array_splice() retourne le tableau des éléments supprimés.

Exemple 1. Exemples avec array_splice()

`<?php
$input = array ("rouge", "vert", "bleu", "jaune");
array_splice ($input, 2);
// $input vaut array ("rouge", "vert")
$input = array ("rouge", "vert", "bleu", "jaune");
array_splice ($input, 1, -1);
// $input vaut array ("rouge", "jaune")
$input = array ("rouge", "vert", "bleu", "jaune");
array_splice ($input, 1, count($input), "orange");
// $input vaut array ("rouge", "orange")
$input = array ("rouge", "vert", "bleu", "jaune");
array_splice ($input, -1, 1, array("black", "marron"));
// $input vaut array ("rouge", "vert",
// "bleu", "black", "marron")
?>`

Voir aussi array_slice(), unset() et array_merge().

Précédent | Sommaire | Suivant
array_slice | Niveau supérieur | array_sum