Removes and returns the value with the highest priority

- « Ds\PriorityQueue::peek

- Ds\PriorityQueue::push »

- PHP Manual
- Ds\PriorityQueue
- Removes and returns the value with the highest priority

# Ds\PriorityQueue::pop

(PECL ds >= 1.0.0)

Ds\PriorityQueue::pop — Removes and returns the value with the highest priority

### Description

public Ds\PriorityQueue::pop(): mixed

Removes and returns the value at the front of the queue, ie. the value with the highest priority.

> Note:

> Values with equal priority fall back to FIFO (first in first out).

### Parameters

This function has no parameters.

### Return Values

The removed value which was at the front of the queue.

### Errors/Exceptions

UnderflowException if empty.

### Examples

Example #1 Ds\PriorityQueue::pop() example

    <?php
    $queue = new \Ds\PriorityQueue();

    $queue->push("a",  5);
    $queue->push("b", 15);
    $queue->push("c", 10);

    print_r($queue->pop());
    print_r($queue->pop());
    print_r($queue->pop());
    ?>

The above example will output something similar to:

    string(1) "a"
    string(1) "b"
    string(1) "c"