PHP - Ds Sequence::pop() 函数



PHP 的 Ds\Sequence::pop() 函数会移除序列中的最后一个值,并将之前移除的值作为结果返回。

如果当前序列为空 ([]),此函数将抛出“UnderflowException”异常。如果尝试打印序列,则最后一个元素将被从中移除。

语法

以下是 PHP Ds\Sequence::pop() 函数的语法:

abstract public Ds\Sequence::pop(): mixed

参数

此函数不接受任何参数。

返回值

此函数返回最后一个被移除的值。

示例 1

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

<?php 
   $seq = new \Ds\Vector( [1, 2, 3, 4, 5] );
   echo "The sequence elements are: \n";
   print_r($seq);
   echo "The last removed element: ";
   #using pop() function
   print_r($seq->pop());
?>

输出

以上程序产生以下输出:

The sequence elements are:
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
The last removed element: 5

示例 2

使用 for 循环中的 pop() 函数逐个弹出所有元素。

以下是 PHP Ds\Sequence::pop() 函数的另一个示例。我们使用此函数从该序列的末尾移除元素(['a', 'e', 'i', 'o', 'u']):

<?php 
   $seq =  new \Ds\Vector(['a', 'e', 'i', 'o', 'u']);
   echo "The sequence elements are: \n";
   print_r($seq);
   echo "The removed elements are: \n";
   for($i = 0; $i < 5; $i++){ 
      print_r($seq->pop()."\n");
   }
   echo "The sequence after pop each elements: \n";
   print_r($seq);
?>

输出

执行上述程序后,将显示以下输出:

The sequence elements are:
Ds\Vector Object
(
    [0] => a
    [1] => e
    [2] => i
    [3] => o
    [4] => u
)
The removed elements are:
u
o
i
e
a
The sequence after pop each elements:
Ds\Vector Object
(
)

示例 3

如果当前序列为空 ([])pop() 函数将抛出“UnderflowException”异常:

<?php 
   $seq =  new \Ds\Vector([]);
   echo "The sequence elements are: \n";
   print_r($seq);
   echo "The removed element is: ";
   print_r($seq->pop());
   echo "\nThe sequence after pop last element: \n";
   print_r($seq);
?>

输出

执行上述程序后,它将抛出以下异常:

The sequence elements are:
Ds\Vector Object
(
)
The removed element is: PHP Fatal error:  Uncaught UnderflowException: 
Unexpected empty state in C:\Apache24\htdocs\index.php:6
Stack trace:
#0 C:\Apache24\htdocs\index.php(6): Ds\Vector->pop()
#1 {main}
  thrown in C:\Apache24\htdocs\index.php on line 6
php_function_reference.htm
广告