【发布时间】:2013-10-02 04:15:18
【问题描述】:
SplStack 有许多访问其元素的函数,但有没有办法清除它?或者我应该通过用新的空堆栈替换它来“清除”我的堆栈?
【问题讨论】:
-
清除数组的方法相同:一系列 pops() 或 unsets(),或者取消设置堆栈本身并创建一个新堆栈
-
是的。只需创建一个新堆栈。
-
@MarkBaker,想写一个答案吗?
SplStack 有许多访问其元素的函数,但有没有办法清除它?或者我应该通过用新的空堆栈替换它来“清除”我的堆栈?
【问题讨论】:
没有清除堆栈的内置方法。
您需要使用 pops 或 unsets 清除它:
while($stack->valid()) {
$stack->pop();
}
或者取消设置堆栈本身,并创建一个新的:
unset($stack);
$stack = new \SplStack();
【讨论】: