Новые возможности SPL в PHP 5.3

В SPL у PHP 5.3 появился новый функционал - новые структуры данных: heap, stack, queue и linked list. На сайте alberton.info появилась первая документация к этим структурам.

Вот пример использования структуры SplStack:

$stack = new SplStack();

$stack->push('b');
$stack->push('a');
$stack->push('c');

echo $stack->pop()."\n";
echo $stack->pop()."\n";
echo $stack->pop()."\n";

// ВЫВОДИТ:
// c
// a
// b

Более сложные конструкции данных позволяет выстраивать компонент Queue (очередь). К примеру, формирование структуры, отсортированной по приоритету:

$pqueue = new SplPriorityQueue();
$pqueue->setExtractFlags(SplPriorityQueue::EXTR_DATA);

$pqueue->insert('низ',    1);
$pqueue->insert('верх',    3);
$pqueue->insert('середина', 2);

echo 'Верхний элемент: '.$pqueue->top()."\n";
echo $pqueue->extract()."\n";
echo $pqueue->extract()."\n";
echo $pqueue->extract()."\n";

// ВЫВОД:
// Верхний элемент: верх
// верх
// середина
// низ