2013-09-26 141 views
2

SplStack有很多访问其元素的函数,但有没有办法清除它?还是应该通过用一个新的空栈替换它来“清除”我的堆栈?如何清除或删除SplStack中的所有元素?

+0

用同样的方法数组:一系列pops()或unsets(),或者取消堆栈本身并创建一个新的堆栈 –

+0

。只需创建一个新的堆栈。 – JimiDini

+0

@MarkBaker,想写一个答案? –

回答

3

没有内置方法来清除堆栈。

你会要么需要清除下来使用持久性有机污染物或取消设置:

while($stack->valid()) { 
    $stack->pop(); 
} 

或取消栈本身,并创建一个新:你会清除

unset($stack); 
$stack = new \SplStack();