W3docs

PHP Array Pop: O Guia Definitivo

Guia completo sobre a função array_pop() do PHP: sintaxe, valor de retorno, reindexação de chaves e exemplos práticos de uso como pilha.

array_pop() remove o último elemento de um array, retorna-o e reduz o array em um elemento. É assim que você trata um array PHP como uma pilha — o item adicionado mais recentemente é o primeiro a ser retirado. Esta página aborda a sintaxe, o que a função retorna, os efeitos colaterais que você precisa conhecer (reindexação numérica e o ponteiro interno) e quando utilizá-la.

O que array_pop() faz

array_pop() é uma função PHP embutida que:

  • Remove o elemento no final do array,
  • Retorna o valor desse elemento removido, e
  • Modifica o array diretamente — o array passado é permanentemente reduzido.

Se as chaves do array forem numéricas (0, 1, 2, …), elas são renumeradas a partir de 0 após o pop. Chaves string permanecem intactas. Este é o mesmo comportamento de reindexação que você obtém com array_shift(), e é o principal "detalhe" a ser lembrado.

Sintaxe

array_pop(array &$array): mixed
ParteSignificado
&$arrayO array do qual remover o elemento, passado por referência — é modificado diretamente.
valor de retornoO valor do último elemento, ou null se o array estiver vazio.

Como $array é passado por referência, você não pode chamar array_pop() em um literal ou no resultado de uma função — é preciso passar uma variável que contém um array.

Removendo o último elemento

Remova o último item e capture o valor retornado:

php— editable, runs on the server

array_pop() remove "cherry", retorna-o e deixa $fruits com dois elementos:

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

Fazendo pop em um array vazio

Se o array já estiver vazio, array_pop() retorna null. No PHP moderno, isso ocorre silenciosamente, então você pode verificar o resultado com segurança:

php— editable, runs on the server

Saída:

Array is empty
No element to pop

Note que um null retornado é ambíguo — você não consegue distinguir "o array estava vazio" de "o último elemento realmente era null." Quando essa distinção for importante, verifique count($array) antes de fazer o pop.

Usando array_pop() como uma pilha

Combine array_pop() com array_push() (ou $array[] = ...) e você terá uma pilha LIFO (último a entrar, primeiro a sair). Iterar com array_pop() esvazia o array pelo final:

<?php

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

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

?>

Saída — os elementos são retornados em ordem inversa:

5 4 3 2 1 

Chaves numéricas são reindexadas

Quando você faz pop em um array com chaves numéricas e depois adiciona um novo elemento com $array[], o novo índice continua a partir da sequência renumerada, não do valor máximo original:

<?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
)

Chaves string permanecem intactas. Com chaves numéricas, array_pop() as renumera para 0, 1, 2, …, o que é algo a observar se outro código depender de valores de índice específicos.

Funções relacionadas

FunçãoO que remove / adiciona
array_pop()Remove o último elemento.
array_push()Adiciona um ou mais elementos ao final.
array_shift()Remove o primeiro elemento.
array_unshift()Adiciona um ou mais elementos ao início.
array_slice()Extrai uma parte sem modificar o original (quando chamada normalmente).

Para uma revisão mais ampla sobre como os arrays funcionam, consulte PHP Arrays.

Resumo

  • array_pop() remove e retorna o último elemento de um array, modificando-o por referência.
  • Um array vazio retorna null — use count() se precisar distinguir array vazio de um valor null real.
  • É a ferramenta natural para processamento no estilo pilha (LIFO) e para reduzir o final de um array um item por vez.
  • Chaves numéricas são renumeradas a partir de 0; chaves string são preservadas.

Prática

Prática
Qual é a função de array_pop() em PHP?
Qual é a função de array_pop() em PHP?
Was this page helpful?