(PHP 5 >= 5.3.0, PHP 7, PHP 8)
The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list by
setting the iterator mode to SplDoublyLinkedList::IT_MODE_FIFO
.
Example #1 SplQueue example
<?php
$q = new SplQueue();
$q[] = 1;
$q[] = 2;
$q[] = 3;
foreach ($q as $elem) {
echo $elem."\n";
}
?>
The above example will output:
1 2 3
Example #2 Efficiently handling tasks with 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;
// ...
}
?>