PHP代码实现队列SPL标准库实现队列功能

简介:PHP使用内置的库实现一个队列功能,做到队列的入队,出队等

在PHP中,我们可以用array来简单模拟队列的功能,array_push出列,array_pop入列,但是更高效的用法还是要使用SplQueue这个官方提供的队列类来做,话不多说,我们先来看看一段代码。

<?php

$queue = new SplQueue();

$queue ->enqueue('测试数据1');
$queue ->enqueue('测试数据2');

echo $queue ->dequeue();
echo PHP_EOL;
echo $queue ->dequeue();

上面这一段代码最终打印的结果如下:

测试数据1

测试数据2

现在我们再来解释一下每一个参数的作用吧:

1、创建队列对象

$queue = new SplQueue();

2、数据入队列

$queue->enqueue("测试数据1”);

3、数据出队列

$queue->dequeue();

关于splqueue队列对象还有一些用于判断和统计的函数,如下所示

//获取队列节点的个数
$queue->count();

//获取最后入队列的值
$queue->top();

//获取最先入队列的值
$queue->bottom();

//判断队列是否为空
$queue->isEmpty();

当然,除此之外还有一些迭代器相关的函数:

// 将迭代器指针退回到第一个节点(按入列顺序)
$queue->rewind();

// 得到当前节点的值,如果直接使用,得到的结果是NULL,必须在rewind之后使用
$current = $queue->current();

// 当前节点的序号(按入列顺序,从0开始)
$queue->key();

// 当前迭代器指向的节点是否为空
$valid = $queue->valid();

// 迭代器指向下一个节点(按入列顺序)
$queue->next();

有遗漏或者不对的可以在我的公众号留言哦

编程经验共享公众号二维码

编程经验共享公众号二维码
更多内容关注公众号
Copyright © 2021 编程经验共享 赣ICP备2021010401号-1