Pour extraire une partie de tableau on utilise la fonction array_slice(). Elle retourne un nouveau tableau à partir des paramètres passés : indice de départ et longueur. Si l'indice est négatif, on part de la fin du tableau. Si aucune longueur n'est donnée, on récupère tous les éléments depuis l'indice jusqu'à la fin du tableau. Le tableau d'origine n'est pas modifié.

Exemple : extraire une partie de tableau
<?php require('bib_fonctions.php'); htmlDebut('Parties de tableau'); $t = array('Pierre', 'Paul', 'Jacques', 'Jean', 'Louis'); infoTableau($t); htmlInfo('Les deux premiers éléments'); $tt = array_slice($t , 0, 2); infoTableau($tt); htmlInfo('Eléments de 2 à fin'); $tt = array_slice($t , 2); infoTableau($tt); htmlInfo('Les deux derniers éléments'); $tt = array_slice($t , -2, 2); infoTableau($tt); htmlFin(); ?>

### Supprimer une partie de tableau

Pour supprimer une partie de tableau, on utilise la fonction array_splice() avec 2 ou 3 paramètres :

- le tableau sans lequel on veut supprimer des éléments,
- l'indice de départ où on commence la suppression,
- éventuellement le nombre d'élément à supprimer. Si non indiqué, la fonction supprime jusqu'à la fin du tableau.

Si l'indice de départ est négatif, il est compté à partir de la fin du tableau.

La fonction renvoie les éléments supprimés sous la forme d'un tableau.

Les indices du tableau sont renumérotés après suppression des éléments.

Exemple : suppression d'éléments
<?php require('bib_fonctions.php'); htmlDebut('Supprimer des éléments'); $t = range(0,9); infoTableau($t); htmlInfo('Supprimer les éléments 2 à 4'); array_splice($t, 2, 3); infoTableau($t); htmlInfo('Supprimer de l\'élément 4 à la fin'); array_splice($t , 4); infoTableau($t); htmlInfo('Supprimer les 2 derniers éléments'); array_splice($t , -2); infoTableau($t); htmlFin(); ?>

### Insérer des éléments

La fonction array_splice() permet aussi d'insérer des éléments. On appellera la fonction avec 4 paramètres :

- le tableau sans lequel on veut insérer des éléments,
- l'indice auquel on veut faire l'insertion,
- la valeur 0
- un tableau avec les éléments à insérer.

Exemple : insertion d'éléments
<?php require('bib_fonctions.php'); htmlDebut('Inserer des éléments'); $t = range(0,4); infoTableau($t); htmlInfo('Inserer 3 éléments à l\'indice 1'); array_splice($t, 1, 0, array('a','b','c')); infoTableau($t); htmlInfo('Inserer 2 éléments avant le dernier'); array_splice($t, -1, 0, array('g', 'h')); infoTableau($t); htmlFin(); ?>

### Remplacer des éléments

La fonction array_splice() permet aussi de remplacer des des éléments. C'est en réalité une suppression suivie d'un ajout. Le nombre d'éléments supprimés n'a pas besoin d'être le même que celui des éléments insérés. On appellera la fonction avec 4 paramètres :

- le tableau sans lequel on veut remplacer des éléments,
- l'indice à partir duquel on veut faire le remplacement,
- le nombre d'éléments à remplacer,
- un tableau avec les éléments de remplacement.

Exemple : remplacement d'éléments
<?php require('bib_fonctions.php'); htmlDebut('Remplacer des éléments'); $t = range(0,4); infoTableau($t); htmlInfo('Remplacer les éléments de 0 à 2 par 3 éléments'); array_splice($t, 0, 3, array('a','b','c')); infoTableau($t); htmlInfo('Remplacer les 2 derniers éléments par 1 autre'); array_splice($t, -2, 2, array('d')); infoTableau($t); htmlFin(); ?>