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)