SPL-队列

SplQueue类提供使用双向链表实现的队列的主要功能。
SplQueue从SplDoublyLinkedList继承

方法

__construct — 使用双向链表创建新队列
dequeue — 从队列中删除节点
enqueue — 向队列中添加一个元素
setIteratorMode — 设置迭代的模式

继承的方法

add ( mixed $index , mixed $newval )
bottom ( void )
count ( void )
current ( void )
getIteratorMode ( void )
isEmpty ( void )
key ( void )
next ( void )
offsetExists ( mixed $index )
offsetGet ( mixed $index )
offsetSet ( mixed $index , mixed $newval )
offsetUnset ( mixed $index )
pop ( void )
prev ( void )
push ( mixed $value )
rewind ( void )
serialize ( void )
setIteratorMode ( int $mode )
shift ( void )
top ( void )
unserialize ( string $serialized )
unshift ( mixed $value )
valid ( void )

示例

push(10);
$q->push(20);
$q->push(30);
$q->pop();
var_dump($q);

此时30已经不存在了

SPL-队列_第1张图片
Paste_Image.png

SplQueue从SplDoublyLinkedList继承。 因此,SplQueue的对象支持方法push()和pop()。 但如果在SplQueue对象上使用push()和pop()方法,它的行为就像一个堆栈而不是一个队列。

因此,请确保在SplQueue对象使用enqueue()和dequeue()方法。

enqueue(10);
$q->enqueue(20);
$q->enqueue(30);
$q->dequeue();
var_dump($q);

此时10已经不存在了


SPL-队列_第2张图片
Paste_Image.png

你可能感兴趣的:(SPL-队列)