Manuel PHP
Précédent |  | Suivant

# array_splice

(PHP 4 >= 4.0.0)

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.

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(`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`.

Conseil : si le tableau de remplacement 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 :

    <?php
      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
    // cas simple
      $input = array("rouge", "vert", "bleu", "jaune");
      array_splice($input, 2);
    // $input est array("rouge", "vert")
    // nombre d'éléments négatif
      $input = array("rouge", "vert", "bleu", "jaune");
      array_splice($input, 1, -1);
    // $input est array("rouge", "jaune")
    // avec un élément de remplacement
      $input = array("rouge", "vert", "bleu", "jaune");
      array_splice($input, 1, count($input), "orange");
    // $input est array("rouge", "orange")
    //  cas complexe
      $input = array("rouge", "vert", "bleu", "jaune");
      array_splice($input, -1, 1, array("noir", "marron"));
    // $input est array("rouge", "vert",
    //          "bleu", "noir", "marron")
    ?>

Voir aussi array_slice().

> Note : array_splice() a été ajoutée en PHP 4.0.

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