📜  PHP | Ds\向量移位()函数(1)

📅  最后修改于: 2023-12-03 14:45:15.205000             🧑  作者: Mango

PHP | Ds\Vector shift()函数

Ds\Vector类是PHP语言提供的一个动态数组数据结构。它的shift()函数用于将数组的第一个元素移除并返回该元素。该函数可以方便地在数组的“头部”进行弹出操作。

语法
public function shift(): mixed
参数

无参数。

返回值

返回数组中第一个元素的值,如果数组为空,返回null。

实例
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);

// 弹出并返回第一个元素 1
$first = $vector->shift();

var_dump($first); // int(1)

// 数组中现在只剩下[2, 3, 4, 5]
var_dump($vector->toArray()); // array(4) { [0]=> int(2) [1]=> int(3) [2]=> int(4) [3]=> int(5) }
注意事项
  1. shift()函数会修改原数组,如果不想修改原数组,可以在shift()函数前,将原数组clone一份传入,在clone的数组上进行操作。
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);

// 将原数组clone一份传入
$tmpVector = clone $vector;

// 弹出并返回第一个元素 1
$first = $tmpVector->shift();

var_dump($first); // int(1)

// 原数组不变,还是[1, 2, 3, 4, 5]
var_dump($vector->toArray()); // array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
  1. 判断数组是否为空,可以使用isEmpty()函数。
$vector = new \Ds\Vector();

var_dump($vector->shift()); // null

var_dump($vector->isEmpty()); // bool(true)
结语

Ds\Vector类提供了强大的数组操作功能。shift()函数是其中的一个重要函数,可以在数组的头部进行弹出操作,非常便捷。