Queues and Stacks are inverse concepts in programming. While in the first one the processing is done in sequential order, in the other one the processing is done in reverse order of arrival. This means that the last element that comes to be processed will be the first to go out. As a matter of fact, considering this concept, the English term referring to stacks is LIFO (Last In First Out).
In PHP, processing a stack can be made as follows:
$stack = array();
array_push($stack, ‘v1’, ‘v2’);
$ultValue = array_pop($stack);
Sequentially what happens in this code is as follows: initially, it creates an array with two values. Following is used array_pop () method for the last value to be extracted; in the sample code the last value is stored in the variable $ ultValue. Next, the variable is then printed on the screen together with the array itself – but without the last value, since the array_pop () method excludes the last position in the array.
This simple logic can be used to process any type of stack, but a repeating structure needs to to be used for all array positions to be validated and processed.
Many services run using the concept of stacks, so understanding the concept and its application turns out to be indispensable in maintaining and creating such services.