SplPriorityQueue extracts the item with the highest priority first.

Priority Queue

priority_queue.php
<?php
$urgent = ;
$queue = new SplPriorityQueue();
$queue->insert("normal", 3);
$queue->insert("urgent", $urgent);
$picked = $queue->extract();
$left = $queue->count();

echo "urgent=" . $urgent . "\n";
echo "picked=" . $picked . "\n";
echo "left=" . $left . "\n";
<?php
$urgent = ;
$queue = new SplPriorityQueue();
$queue->insert("normal", 3);
$queue->insert("urgent", $urgent);
$picked = $queue->extract();
$left = $queue->count();

echo "urgent=" . $urgent . "\n";
echo "picked=" . $picked . "\n";
echo "left=" . $left . "\n";
<?php
$urgent = ;
$queue = new SplPriorityQueue();
$queue->insert("normal", 3);
$queue->insert("urgent", $urgent);
$picked = $queue->extract();
$left = $queue->count();

echo "urgent=" . $urgent . "\n";
echo "picked=" . $picked . "\n";
echo "left=" . $left . "\n";
priority order Priority queues use numeric priority instead of insertion order to choose the next item.