Be careful SplStack mode is LIFO (Last In First Out) not FIFO (First in First Out)
<?php
$stack = array();
array_push($stack,"orange");
array_push($stack,"banana");
array_push($stack,"apple");
array_push($stack,"raspberry");
var_dump($stack);
?>
// result
array (size=4)
0 => string 'orange' (length=6)
1 => string 'banana' (length=6)
2 => string 'apple' (length=5)
3 => string 'raspberry' (length=9)
<?php
$stack = new SplStack();
$stack ->push('orange');
$stack ->push('banana');
$stack ->push('apple');
$stack->push('raspberry');
$stack->rewind();
while($stack->valid()){
var_dump($stack->current());
$stack->next();
}
?>
//result
string 'raspberry' (length=9)
string 'apple' (length=5)
string 'banana' (length=6)
string 'orange' (length=6)