SplQueue removes items in the same order they were added.

first in first out Queue operations model work that should be handled from oldest to newest.

SPL Queue

first
spl_queue.php
Replay: real traced execution (multi-file project)
<?php
$first = "build";
$queue = new SplQueue();
$queue->enqueue($first);
$queue->enqueue("review");
$served = $queue->dequeue();
$remaining = $queue->count();

echo "first=" . $first . "\n";
echo "served=" . $served . "\n";
echo "remaining=" . $remaining . "\n";
<?php
$first = "plan";
$queue = new SplQueue();
$queue->enqueue($first);
$queue->enqueue("review");
$served = $queue->dequeue();
$remaining = $queue->count();

echo "first=" . $first . "\n";
echo "served=" . $served . "\n";
echo "remaining=" . $remaining . "\n";
<?php
$first = "ship";
$queue = new SplQueue();
$queue->enqueue($first);
$queue->enqueue("review");
$served = $queue->dequeue();
$remaining = $queue->count();

echo "first=" . $first . "\n";
echo "served=" . $served . "\n";
echo "remaining=" . $remaining . "\n";
  1. $first ← build, $queue ← SplQueue, $served ← build, $remaining ← 1

    1<?php2$first→ build = "build"; //@first="plan", "ship"3$queue→ SplQueue = new SplQueue();4$queueSplQueue->enqueue($firstbuild);5$queueSplQueue->enqueue("review");6$served→ build = $queueSplQueue->dequeue();7$remaining→ 1 = $queueSplQueue->count();89echo "first=" . $firstbuild . "\n";10echo "served=" . $servedbuild . "\n";11echo "remaining=" . $remaining1 . "\n";
    outputfirst=build
    served=build
    remaining=1
  1. $first ← plan, $queue ← SplQueue, $served ← plan, $remaining ← 1

    1<?php2$first→ plan = "plan";3$queue→ SplQueue = new SplQueue();4$queueSplQueue->enqueue($firstplan);5$queueSplQueue->enqueue("review");6$served→ plan = $queueSplQueue->dequeue();7$remaining→ 1 = $queueSplQueue->count();89echo "first=" . $firstplan . "\n";10echo "served=" . $servedplan . "\n";11echo "remaining=" . $remaining1 . "\n";
    outputfirst=plan
    served=plan
    remaining=1
  1. $first ← ship, $queue ← SplQueue, $served ← ship, $remaining ← 1

    1<?php2$first→ ship = "ship";3$queue→ SplQueue = new SplQueue();4$queueSplQueue->enqueue($firstship);5$queueSplQueue->enqueue("review");6$served→ ship = $queueSplQueue->dequeue();7$remaining→ 1 = $queueSplQueue->count();89echo "first=" . $firstship . "\n";10echo "served=" . $servedship . "\n";11echo "remaining=" . $remaining1 . "\n";
    outputfirst=ship
    served=ship
    remaining=1