//SPL数据结构之队列
$obj = new SplQueue();
$obj->enqueue('a');
$obj->enqueue('b');
$obj->enqueue('c');
print_r($obj);
echo "Bottom:" . $obj->bottom() . "\n";
echo "Top:" . $obj->top() . "\n";
//队列的offset是Bottom所在的位置,offset=1是Bottom位置靠近Top位置的相邻节点,以此类推
$obj->offsetSet(0,'A');
print_r($obj);
//队列的rewind使得当前指针指向Bottom所在的位置
$obj->rewind();
echo "current:" . $obj->current() . "\n";
//遍历队列
while ($obj->valid()) {
echo $obj->key() . "=>" . $obj->current() . "\n";
//next操作使当前指针指向Top方向的下一个节点
$obj->next();
}
//删除队列元素
//dequeue操作从队列中提取Bottom位置的节点并返回,同时从队列中删除该节点
echo "dequeue obj:" . $obj->dequeue() . "\n";
print_r($obj);