SplStack 只是一个带有 IT_MODE_LIFO 和 IT_MODE_KEEP 迭代模式的 SplDoublyLinkedList。
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SplStack 类通过将迭代器模式设置为SplDoublyLinkedList::IT_MODE_LIFO
,提供了使用双向链表实现的堆栈的主要功能。
示例 #1 SplStack 示例
<?php
$q = new SplStack();
$q[] = 1;
$q[] = 2;
$q[] = 3;
foreach ($q as $elem) {
echo $elem."\n";
}
?>
以上示例将输出
3 2 1
SplStack 只是一个带有 IT_MODE_LIFO 和 IT_MODE_KEEP 迭代模式的 SplDoublyLinkedList。
<?php
//SplStack 模式为 LIFO(后进先出)
$q = new SplStack();
$q[] = 1;
$q[] = 2;
$q[] = 3;
$q->push(4);
$q->add(4,5);
$q->rewind();
while($q->valid()){
echo $q->current(),"\n";
$q->next();
}
?>
输出
5
4
3
2
1