PHP 5.3.0 版本及以上的堆栈描述可以使用标准库 SPL 中的 ,SplStack 类继承双链表 ( SplDoublyLinkedList ) 实现栈。
代码:
1 push('hello');11 $stack->push('world');12 $stack->push('web');13 $stack[] = 'site';14 $stack[] = 'devlop';15 16 17 echo '***************',PHP_EOL;18 19 //设置index为 0 的元素(栈顶)的值为 DEVLOP,遍历栈20 $stack->offsetSet(0, 'DEVLOP');21 foreach($stack as $val) {22 echo $val,PHP_EOL;23 }24 25 echo '***************',PHP_EOL;26 //查看栈元素个数27 echo '栈内有',$stack->count(),'个元素',PHP_EOL;28 echo '栈内有',count($stack),'个元素',PHP_EOL;29 30 echo '***************',PHP_EOL;31 //查看栈顶、栈底元素32 echo '栈顶元素是',$stack->top(),PHP_EOL;33 echo '栈底元素是',$stack->bottom(),PHP_EOL;34 35 echo '***************',PHP_EOL;36 //遍历栈37 foreach($stack as $val) {38 echo $val,PHP_EOL;39 }40 41 echo '***************',PHP_EOL;42 //出栈43 while($stack->count() != 0) {44 echo '栈顶元素是:',$stack->top(),PHP_EOL;45 $stack->pop();46 }
输出:
stack push***************DEVLOPsitewebworldhello***************栈内有5个元素栈内有5个元素***************栈顶元素是DEVLOP栈底元素是hello***************DEVLOPsitewebworldhello***************栈顶元素是:DEVLOP栈顶元素是:site栈顶元素是:web栈顶元素是:world栈顶元素是:hello
参考: