PHP - Ds\PriorityQueue::__construct() Function
The PHP Ds\PriorityQueue::__construct() function is a built-in function which is used to create a new instance or Priority Queue. This function does not accept any argument and also it does not return any value.
Syntax
Below is the syntax of the PHP Ds\PriorityQueue::__construct() function −
public Ds\PriorityQueue::__construct( void )
Parameters
This function does not take any parameters.
Return Value
This function does not return a value. It initializes a new instance of a Ds\PriorityQueue object.
PHP Version
The __construct() function is available from version 1.0.0 of the Ds extension onwards.
Example 1
Here is the basic example of the PHP Ds\PriorityQueue::__construct() function to create a new PriorityQueue.
<?php // Create a new instance of PriorityQueue $pqueue = new \Ds\PriorityQueue(); // Output the structure and contents of the PriorityQueue var_dump($pqueue); ?>
Output
Here is the outcome of the following code −
object(Ds\PriorityQueue)#1 (0) {
}
Example 2
In the below PHP code we will use the __construct() function and create a simple priority queue and add elements in it.
<?php
// Create a new instance of PriorityQueue
$queue = new \Ds\PriorityQueue();
// Insert the elements in queue
$queue->push("Task 1", 1);
$queue->push("Task 2", 2);
$queue->push("Task 3", 3);
foreach ($queue as $task) {
echo $task . "\n";
}
?>
Output
This will generate the below output −
Task 3 Task 2 Task 1
Example 3
Now the below code, using the __construct() function by adding items that have different priority and keeping track of the order of retrieval.
<?php
// Create a new instance of PriorityQueue
$queue = new \Ds\PriorityQueue();
$queue->push("Low priority task", 1);
$queue->push("Medium priority task", 5);
$queue->push("High priority task", 10);
foreach ($queue as $task) {
echo $task . "\n";
}
?>
Output
This will create the below output −
High priority task Medium priority task Low priority task
Example 4
In the following example, we are using the __construct() function store objects in the priority queue.
<?php
// Create a class for task
class Task {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
// Create a new instance of PriorityQueue
$queue = new \Ds\PriorityQueue();
// Insert the elements in the queue
$queue->push(new Task("Task A"), 2);
$queue->push(new Task("Task B"), 1);
$queue->push(new Task("Task C"), 3);
foreach ($queue as $task) {
echo $task->name . "\n";
}
?>
Output
Following is the output of the above code −
Task C Task A Task B
Summary
The Ds\PriorityQueue::__construct() function is a built-in method in PHP which is used to create an instance. And we have demonstrate different examples to show how to create a priority queue, add elements with priorities, and then loop over the queue to get elements based on their priorities.