W3docs

PHP Array Pop : guide complet

Découvrez array_pop() en PHP : syntaxe, valeur de retour, réindexation des clés et utilisation comme pile LIFO.

array_pop() supprime le dernier élément d'un array, le retourne et raccourcit le tableau d'un élément. C'est ainsi que vous utilisez un array PHP comme une pile — l'élément ajouté le plus récemment est le premier que vous retirez. Cette page couvre la syntaxe, ce que la fonction retourne, les effets de bord à connaître (réindexation numérique et pointeur interne), ainsi que les cas d'utilisation appropriés.

Ce que fait array_pop()

array_pop() est une fonction PHP intégrée qui :

  • Supprime l'élément en fin de tableau,
  • Retourne la valeur de cet élément supprimé, et
  • Modifie le tableau en place — le tableau passé en argument est définitivement raccourci.

Si les clés du tableau sont numériques (0, 1, 2, …), elles sont renumérotées à partir de 0 après le pop. Les clés de type string restent inchangées. C'est le même comportement de réindexation qu'avec array_shift(), et c'est le principal point à retenir.

Syntaxe

array_pop(array &$array): mixed
PartieSignification
&$arrayLe tableau depuis lequel retirer un élément, passé par référence — il est modifié directement.
valeur de retourLa valeur du dernier élément, ou null si le tableau est vide.

Comme $array est passé par référence, vous ne pouvez pas appeler array_pop() sur un littéral ou le résultat d'une fonction — vous devez passer une variable contenant un array.

Supprimer le dernier élément

Retirez le dernier élément et capturez la valeur retournée :

php— editable, runs on the server

array_pop() supprime "cherry", le retourne et laisse $fruits avec deux éléments :

cherry
Array
(
    [0] => apple
    [1] => banana
)

Pop sur un array vide

Si le tableau est déjà vide, array_pop() retourne null. Avec les versions modernes de PHP, cela se fait silencieusement, vous pouvez donc vérifier le résultat en toute sécurité :

php— editable, runs on the server

Résultat :

Array is empty
No element to pop

Notez qu'un null retourné est ambigu — vous ne pouvez pas distinguer « le tableau était vide » de « le dernier élément valait réellement null ». Lorsque cette distinction est importante, vérifiez count($array) avant d'appeler pop.

Utiliser array_pop() comme une pile

Associez array_pop() à array_push() (ou $array[] = ...) et vous obtenez une pile dernier entré, premier sorti (LIFO). Une boucle avec array_pop() vide le tableau depuis la fin :

<?php

$stack = [1, 2, 3, 4, 5];

while (count($stack) > 0) {
    echo array_pop($stack) . " ";
}

?>

Résultat — les éléments ressortent dans l'ordre inverse :

5 4 3 2 1 

Les clés numériques sont réindexées

Lorsque vous retirez un élément d'un array à clés numériques puis ajoutez un nouvel élément avec $array[], le nouvel index continue depuis la séquence renumérotée, et non depuis la clé maximale d'origine :

<?php

$data = ["x" => 10, "y" => 20, "z" => 30];
$value = array_pop($data);   // removes "z" => 30

echo $value . "\n";          // 30
print_r($data);

?>
30
Array
(
    [x] => 10
    [y] => 20
)

Les clés de type string restent inchangées. Avec les clés numériques, array_pop() les réinitialise à 0, 1, 2, …, ce qui est à surveiller si d'autres parties du code s'appuient sur des valeurs d'index spécifiques.

Fonctions associées

FonctionCe qu'elle supprime / ajoute
array_pop()Supprime le dernier élément.
array_push()Ajoute un ou plusieurs éléments à la fin.
array_shift()Supprime le premier élément.
array_unshift()Ajoute un ou plusieurs éléments au début.
array_slice()Extrait une portion sans modifier l'original (dans son usage normal).

Pour un rappel plus large sur le fonctionnement des tableaux, consultez PHP Arrays.

Résumé

  • array_pop() supprime et retourne le dernier élément d'un array en le modifiant par référence.
  • Un array vide produit null — utilisez count() si vous devez distinguer un array vide d'une vraie valeur null.
  • C'est l'outil naturel pour le traitement de type pile (LIFO) et pour réduire un tableau d'un élément à la fois par la fin.
  • Les clés numériques sont renumérotées à partir de 0 ; les clés string sont préservées.

Pratique

Pratique
Quelle est la fonction de array_pop() en PHP ?
Quelle est la fonction de array_pop() en PHP ?
Was this page helpful?