ARRAY_SHIFT |
Tableau : Décalage |
---|---|
PHP 4.0+ |
Syntaxe
function array_shift($array); |
Paramètres
Nom | Description |
---|---|
$array | Ce paramètre permet d'indiquer les tableaux à traiter. |
Retour
Valeur | Description |
---|---|
NULL | Cette valeur permet d'indiquer que le tableau est vide. |
variante | Ces valeurs permettent d'indiquer la cellule ayant été retirer de la cellule. |
Description
Cette fonction permet de retirer une cellule du début du tableau et retourne sa valeur.
Remarques
- Suppression du premier élément d'un tableau : La fonction array_shift() supprime et retourne le premier élément d'un tableau. Cette opération modifie le tableau original en décalant tous les autres éléments vers la gauche. Le tableau retourné contient la valeur supprimée, ce qui permet de travailler directement avec l'élément supprimé si nécessaire.
- Modification du tableau original : Contrairement à certaines fonctions créant une copie du tableau, array_shift() modifie directement le tableau passé en paramètre. Après l'appel de la fonction, le tableau ne contient plus le premier élément, et tous les indices numériques sont réajustés, les éléments restant étant réindexés à partir de zéro.
- Fonctionnement avec les tableaux associatifs : Lorsque vous utilisez array_shift() sur un tableau associatif, le premier élément est supprimé, mais les clefs des autres éléments restent intactes. Les clés associatives ne sont pas réindexées comme dans les tableaux indexés numériquement, ce qui peut avoir des conséquences si vous souhaitez que les clefs soient réorganisées.
- Retour de la valeur supprimée : array_shift() retourne la valeur du premier élément supprimé. Si le tableau est vide, elle retourne NULL, ce qui permet de détecter rapidement que le tableau ne contient plus d'éléments. Cela permet d'utiliser la valeur retournée pour effectuer des traitements supplémentaires.
- Gestion des tableaux vides : Si la fonction est appelée sur un tableau vide, elle retourne NULL et le tableau reste inchangé. Il est donc conseillé de vérifier que le tableau n'est pas vide avant d'utiliser array_shift() pour éviter des comportements inattendus.
- Application courante dans les files d'attente : array_shift() est couramment utilisée dans les structures de données de type file d'attente (FIFO). En retirant systématiquement le premier élément, elle permet de simuler une file d'attente où les éléments sont traités dans l'ordre d'insertion, de manière séquentielle.
- Impact sur la performance des grands tableaux : La fonction array_shift() peut devenir coûteuse en termes de performances lorsqu'elle est utilisée sur de grands tableaux, car elle doit réorganiser tous les éléments du tableau après avoir supprimé le premier. Pour des tableaux volumineux, cela peut entraîner une dégradation des performances, surtout dans des boucles répétées.
- Utilisation dans des boucles et traitements séquentiels : array_shift() est souvent utilisée dans des boucles pour traiter les éléments d'un tableau un par un. Après avoir supprimé le premier élément, le tableau reste intact avec les éléments suivants prêts à être traités, ce qui est utile dans les cas où l'on souhaite extraire et traiter des éléments dans un ordre spécifique.
Exemple
Voici un exemple permettant d'effectuer une rotation des jours de la semaine de façon à ce que se soit Lundi plutôt que Dimanche, le premier jour de la semaine :
- <?php
- $WeekDay = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
- array_push($WeekDay,array_shift($WeekDay));
- var_dump($WeekDay);
- ?>
on obtiendra le résultat suivant :
array(7) { [0]=> string(5) "Lundi" [1]=> string(5) "Mardi" [2]=> string(8) "Mercredi" [3]=> string(5) "Jeudi" [4]=> string(8) "Vendredi" [5]=> string(6) "Samedi" [6]=> string(8) "Dimanche" }Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 363
Dernière mise à jour : Dimanche, le 22 mars 2015