Supprimer avec 'array_shift'
Fait partie de la section Logique & Flux du Journey PHP de Coddy — leçon 13 sur 68.
La fonction array_shift() supprime le premier élément d'un tableau et retourne cette valeur supprimée. C'est l'opposé de array_unshift(), qui ajoute des éléments au début d'un tableau.
Voici comment cela fonctionne :
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Affiche : Alice
print_r($queue); // Affiche : Array ( [0] => Bob [1] => Charlie )
?>Notez que array_shift() modifie à la fois le tableau original et retourne l'élément supprimé. Après avoir supprimé le premier élément, tous les éléments restants sont automatiquement décalés vers le bas pour combler le vide — "Bob" passe de l'index 1 à l'index 0, et "Charlie" passe de l'index 2 à l'index 1.
Ce réindexage se produit automatiquement, garantissant que votre tableau conserve une séquence numérique correcte. Si vous utilisez array_shift() sur un tableau vide, il retourne null sans provoquer d'erreur.
Cette fonction est particulièrement utile pour implémenter des files d'attente, où vous traitez les éléments dans un ordre « premier entré, premier sorti » — comme la gestion des clients dans une file d'attente ou le traitement des tâches dans l'ordre où elles ont été reçues.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Défi
FacileVous recevrez deux entrées : un tableau initial de clients attendant en file d'attente au format JSON et un nombre indiquant combien de clients doivent être servis. Lisez les deux entrées, convertissez la chaîne JSON en un tableau, utilisez array_shift() le nombre de fois spécifié pour retirer les clients servis du début de la file, et affichez le tableau final en utilisant print_r().
Format d'entrée : Deux lignes - la première ligne contient un tableau JSON (exemple : ["Alice","Bob","Charlie","Diana"]), la deuxième ligne contient le nombre de clients à servir (un nombre)
Sortie attendue : Le tableau après avoir retiré les clients servis du début, affiché en utilisant print_r()
Aide-mémoire
La fonction array_shift() supprime le premier élément d'un tableau et retourne cette valeur supprimée :
<?php
$queue = ["Alice", "Bob", "Charlie"];
$firstPerson = array_shift($queue);
echo $firstPerson; // Affiche : Alice
print_r($queue); // Affiche : Array ( [0] => Bob [1] => Charlie )
?>Points clés :
- Modifie le tableau original et retourne l'élément supprimé
- Les éléments restants sont automatiquement réindexés (décalés vers le bas)
- Retourne
nulls'il est utilisé sur un tableau vide - Utile pour implémenter des files d'attente "premier entré, premier sorti" (FIFO)
Essayez vous-même
<?php
// Lire le tableau JSON des clients
$jsonInput = fgets(STDIN);
$customers = (array)json_decode($jsonInput, true);
// Lire le nombre de clients à servir
$numToServe = intval(fgets(STDIN));
// TODO: Écrivez votre code ci-dessous
// Utilisez array_shift() pour retirer les clients du début de la file
// Afficher le tableau final
print_r($customers);
?>Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Fonctions avancées
Fonctions anonymesClosures et 'use'Fonctions fléchéesFonctions de rappelUtilisation de 'call_user_func'Fonctions variablesPassage par référenceFonctions récursivesRécapitulatif : Mélange de fonctions4Tableaux multidimensionnels
Créer un tableau 2DAccéder aux éléments d'un tableau 2DModifier les éléments d'un tableau 2DItérer avec des boucles imbriquéesTableaux associatifs 2DRécapitulatif : Exercice de grille simple2Manipulations avancées de tableaux
Ajouter avec 'array_push'Supprimer avec 'array_pop'Ajouter avec 'array_unshift'Supprimer avec 'array_shift'Fusionner des tableaux indexésFusionner des tableaux associatifsExtraire avec 'array_slice'Valeurs avec 'in_array'Clés avec 'array_search'Récapitulatif : Exercice Playlist3Tri des tableaux
Trier les tableaux indexés par ordre croissantTrier les tableaux indexés par ordre décroissantTrier les tableaux associatifs par valeurTrier les tableaux associatifs par cléTri par ordre naturelTri personnalisé avec 'usort'Récapitulatif : Tri d'un classement