PHP - Ds Vector::shift() 函数



PHP 的 Ds\Vector::shift() 函数用于从向量中移除并检索第一个值。此函数会修改原始向量并返回第一个移除的元素。

如果当前向量为空 ([]),此函数将抛出“UnderflowException”异常。

语法

以下是 PHP Ds\Vector::shift() 函数的语法:

public mixed Ds\Vector::shift( void )

参数

此函数不接受任何参数。

返回值

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

示例 1

以下程序演示了 PHP Ds\Vector::shift() 函数的使用:

<?php
   $vector = new \Ds\Vector(["a", "b", "c"]);
   echo "The original vector: \n";
   print_r($vector);
   echo "The updated vector: ";
   print_r($vector->shift());
?>

输出

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

The original vector:
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)
The updated vector: a

示例 2

以下是 PHP Ds\Vector::shift() 函数的另一个示例。我们使用此函数移除并检索此向量 ([10, 20, 30, 40, 50]) 的第一个值:

<?php
   $vector = new \Ds\Vector([10, 20, 30, 40, 50]);
   echo "The original vector: \n";
   print_r($vector);
   echo "The removed values are: ";
   print_r($vector->shift());
   echo " ";
   print_r($vector->shift());
   echo "\nThe vector after removing first two values: \n";
   print_r($vector);
?>

输出

上述程序产生以下输出:

The original vector:
Ds\Vector Object
(
    [0] => 10
    [1] => 20
    [2] => 30
    [3] => 40
    [4] => 50
)
The removed values are: 10 20
The vector after removing first two values:
Ds\Vector Object
(
    [0] => 30
    [1] => 40
    [2] => 50
)

示例 3

如果向量为空 ([])shift() 函数将抛出“UnderflowException”异常:

<?php
   $vector = new \Ds\Vector([]);
   echo "The original vector: \n";
   print_r($vector);
   echo "The removed value is: ";
   print_r($vector->shift());
   echo "\nThe vector after removing first two values: \n";
   print_r($vector);
?>

输出

执行上述程序后,将生成以下输出:

The original vector:
Ds\Vector Object
(
)
The removed value 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->shift()
#1 {main}
  thrown in C:\Apache24\htdocs\index.php on line 6
php_function_reference.htm
广告