Atualizado em 21 de Outubro de 2013

Trabalhando com Pilhas no PHP

Olá pessoal,

Um conceito muito importante quando trabalhamos com Arrays são as Pilhas. Na programação, as pilhas são estruturas que armazenam elementos em uma ordem específica, no caso das pilhas os últimos são os primeiro.

O termo correto para este conceito é o LIFO (do inglês, Last In First Out), um exemplo que pode ilustrar é o de um empilhamento de livros, onde o último livro a ser colocado é o primeiro a ser removido, pois esta no top.

Para se trabalhar com pilhas usamos dois comandos. O array_push que insere um valor no final de uma fila e o array_pop que remove o último elemento de uma pilha.

Vamos ver um exemplo com os dois comandos:

<?php
$pilhaLivros = array();

 array_push($pilhaLivros, 'Valor 1', 'Valor 2');

 print_r($pilhaLivros); // Resultado: Array ( [0] => Valor 1 [1] => Valor 2 )

 array_pop($pilhaLivros);

 print_r($pilhaLivros); // Resultado: Array ( [0] => Valor 1 )
?>

Observe que os elementos são colocados em ordem seqüencial e retirados do final (último elemento inserido) até o início.

Os retornos destes comandos são:
  • array_push: Retorna o novo número do elemento do array;
  • array_pop: Retorna o último elemento do array, eleminado-o o mesmo.


Gostou do post, continue por dentro das dicas de programação!!! Assine a newsletter.


E isso aí pessoal, até a próxima.

Tags:  Arrays | Comandos PHP | PHP

Comentários

Sua foto do perfil

Rafael

Cara, tem como montar o mesmo código com uso de pilha sem o uso das funções push e pop? Pergunto isso pois estou fazendo uma matéria que precisa programação e o professor não aceita funções prontas. Caso seja possível, você teria como me mostrar o exemplo.

10 de Abril de 2015 - 21:37

Sua foto do perfil

Mauricio Programador

Olá Rafael,

Na verdade estas funções são funções nativas do PHP, porém se quiser fazer a mesma coisa sem o uso delas daria, mas o trabalho seria maior.

Por exemplo: Se você for inserir um elemento na pilha como primeiro, você terá que fazer um laço de repetição, inserindo o novo registro como primeiro, e logo após vem os demais.

Espero que isso lhe ajude.

Abraço.

13 de Abril de 2015 - 09:30

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER