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
广告