我在对象内部迭代ArrayObject
。让我们看看:
class EventsBag extends ArrayObject{
public function toJson(){
$events = [];
$iterator = $this->getIterator();
while ($iterator->valid()){
$events[] = $iterator->current();
$iterator->next();
}
return $events;
}
}
调用toJson()
永远不会结束脚本执行:
$events = new EventsBag(['a', 'b']);
var_dump($events->toJson());
我调试了脚本,while
控件永远不会出来。我不明白为什么会发生这种情况。