PHP - Ds\Queue::pop() 函式



PHP 的 Ds\Queue::pop() 函式用於從佇列的頭部(頂部)移除並返回一個值。但是,"佇列" 是一種遵循 FIFO(先進先出)順序的線性資料結構,這意味著值從尾部插入,從頭部移除。因此,最先新增的值將最先被移除。

如果當前佇列為空 ([]),此函式將丟擲 "UnderflowException" 異常。

語法

以下是 PHP Ds\Queue::pop() 函式的語法:

public Ds\Queue::pop(): mixed

引數

此函式不接受任何引數。

返回值

此函式返回從佇列頭部移除的值。

示例 1

以下是 PHP Ds\Queue::pop() 函式的基本示例:

<?php  
   $queue = new \Ds\Queue([10, 20, 30, 40, 50]);
   echo "The original queue is: \n";
   print_r($queue);
   echo "The removed element: ";
   #using pop() function
   print_r($queue->pop());
?>

輸出

以上程式產生以下輸出:

The original queue is:
Ds\Queue Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)
The removed element: 10

示例 2

以下是 PHP Ds\Queue::pop() 函式的另一個示例。我們使用此函式檢索從該佇列 (['a', 'b', 'c', 'd']) 的頭部(頂部)移除的元素:

<?php  
   $queue = new \Ds\Queue(['a', 'b', 'c', 'd']);
   echo "The original queue is: \n";
   print_r($queue);
   echo "The removed element: ";
   #using pop() function
   print_r($queue->pop());
   echo "\nThe queue after pop: \n";
   print_r($queue);
?>

輸出

執行以上程式後,將顯示以下輸出:

The original queue is:
Ds\Queue Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
The removed element: a
The queue after pop:
Ds\Queue Object
(
    [0] => b
    [1] => c
    [2] => d
)

示例 3

如果當前佇列為空 ([]),此函式將丟擲 "UnderflowException" 異常:

<?php  
   $queue = new \Ds\Queue([]);
   echo "The original queue is: \n";
   print_r($queue);
   echo "The removed element: ";
   #using pop() function
   print_r($queue->pop());
   echo "\nThe queue after pop: \n";
   print_r($queue);
?>

輸出

執行以上程式後,將丟擲以下異常:

The original queue is:
Ds\Queue Object
(
)
The removed element: PHP Fatal error:  Uncaught UnderflowException: 
Unexpected empty state in C:\Apache24\htdocs\index.php:7
Stack trace:
#0 C:\Apache24\htdocs\index.php(7): Ds\Queue->pop()
#1 {main}
  thrown in C:\Apache24\htdocs\index.php on line 7
php_function_reference.htm
廣告