Open In App

PHP Ds\PriorityQueue pop() Function

The Ds\PriorityQueue::pop() Function in PHP is used to remove and return the value present at the top of the PriorityQueue. In other words, it returns the value with the highest priority in the PriorityQueue and removes it.

Syntax:



mixed public Ds\PriorityQueue::pop ( void ) 

Parameters: This function does not accepts any parameters.

Return Value: This function returns the value with the highest priority in this PriorityQueue and removes it. The return type of the function is mixed and depends on the type of value stored in the PriorityQueue.



Exception: This function throws an UnderflowException if the PriorityQueue is empty.

Below programs illustrate the Ds\PriorityQueue::pop() Function in PHP:

Program 1:




<?php 
  
// Declare new PriorityQueue 
$pq = new \Ds\PriorityQueue(); 
  
// Add elements to the PriorityQueue
$pq->push("One", 1);
$pq->push("Two", 2);
$pq->push("Three", 3);
  
echo "Initial PriorityQueue is: \n";
print_r($pq);
  
// Pop an element
echo "\nPopped element is: ";
print_r($pq->pop());
  
echo "\n\nFinal PriorityQueue is: \n";
print_r($pq);
  
?> 

Output:
Initial PriorityQueue is: 
Ds\PriorityQueue Object
(
    [0] => Three
    [1] => Two
    [2] => One
)

Popped element is: Three

Final PriorityQueue is: 
Ds\PriorityQueue Object
(
    [0] => Two
    [1] => One
)

Program 2:




<?php 
  
// Declare new PriorityQueue 
$pq = new \Ds\PriorityQueue(); 
  
// Add elements to the PriorityQueue
$pq->push("One", 1);
$pq->push("Two", 3);
$pq->push("Three", 2);
  
echo "Initial PriorityQueue is: \n";
print_r($pq);
  
// Pop an element
echo "\nPopped element is: ";
print_r($pq->pop());
  
echo "\n\nFinal PriorityQueue is: \n";
print_r($pq);
  
?> 

Output:
Initial PriorityQueue is: 
Ds\PriorityQueue Object
(
    [0] => Two
    [1] => Three
    [2] => One
)

Popped element is: Two

Final PriorityQueue is: 
Ds\PriorityQueue Object
(
    [0] => Three
    [1] => One
)

Reference: http://php.net/manual/en/ds-priorityqueue.pop.php


Article Tags :