SplQueue 类

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

简介

SplQueue 类的主要功能是通过将迭代模式设置为 SplDoublyLinkedList::IT_MODE_FIFO 来提供使用双向链表实现的队列。

类摘要

class SplQueue extends SplDoublyLinkedList {
/* 继承的常量 */
/* 方法 */
public dequeue(): mixed
public enqueue(mixed $value): void
/* 继承的方法 */
public SplDoublyLinkedList::add(int $index, mixed $value): void
public SplDoublyLinkedList::offsetExists(int $index): bool
public SplDoublyLinkedList::offsetSet(?int $index, mixed $value): void
public SplDoublyLinkedList::offsetUnset(int $index): void
public SplDoublyLinkedList::push(mixed $value): void
public SplDoublyLinkedList::unserialize(string $data): void
public SplDoublyLinkedList::unshift(mixed $value): void
}

范例

示例 #1 SplQueue 示例

<?php
$q
= new SplQueue();
$q[] = 1;
$q[] = 2;
$q[] = 3;
foreach (
$q as $elem) {
echo
$elem."\n";
}
?>

以上例程会输出:

1
2
3

示例 #2 使用 SplQueue 高效处理任务

<?php
$q
= new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);
// ... enqueue some tasks on the queue ...
// process them
foreach ($q as $task) {
// ... process $task ...
// add new tasks on the queue
$q[] = $newTask;
// ...
}
?>

目录

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top