简介: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();
有遗漏或者不对的可以在我的公众号留言哦