PHP实现队列和测试
2021/5/19 12:25:18
本文主要是介绍PHP实现队列和测试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
<?php /** * Class MyList * 队列,先进先出,头部出,尾部入 * * */ class MyList { //队列头索引 private $head_index = 0; //出队的内容 private $out_value; //入队的内容 private $in_value; //队列数组 private $list_arr = []; //队列最大值(满了不能入队) private $max_num = 10; //初始化队列,设置栈最大值 public function __construct($max_num=10) { $this->max_num = $max_num; } //入队 public function list_in($value){ if(empty($value)){ return '值不能为空'; } //是否满了 if(count($this->list_arr)>=$this->max_num){ return '队列已满,无法入队'; } array_push($this->list_arr,$value); $this->in_value = $value; return '入队成功,内容:'.$this->in_value; } //出队 public function list_out(){ if(empty($this->list_arr)){ return '出队失败,当前队列是空的'; } //出队操作,把队列第一个值去掉(由于队列内容总是) $this->out_value = $this->list_arr[$this->head_index]; unset($this->list_arr[$this->head_index]); //重排所有索引,保证队首索引永远指向下一个内容 $this->list_arr = array_values($this->list_arr); return '出队成功,内容:'.$this->out_value; } //获得当前队长度 public function getCount(){ return count($this->list_arr); } //最后出队值 public function getOutValue(){ return $this->out_value; } //队内信息 public function getListArr(){ return $this->list_arr; } } $object = new MyList(3); //尝试插入和弹出,指令合集 $test_order_arr = [2,'西瓜','菠萝','苹果','芒果','黑凤梨',2,2]; foreach($test_order_arr as $test_order){ switch ($test_order){ case 2: echo $object->list_out()."\n"; var_dump($object->getListArr()); break; default: echo $object->list_in($test_order)."\n"; var_dump($object->getListArr()); break; } } echo "最终内容\n"; var_dump($object->getListArr());
E:\linux_data>php MyList.php
出队失败,当前队列是空的
array(0) {
}
入队成功,内容:西瓜
array(1) {
[0]=>
string(6) "西瓜"
}
入队成功,内容:菠萝
array(2) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
}
入队成功,内容:苹果
array(3) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
[2]=>
string(6) "苹果"
}
队列已满,无法入队
array(3) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
[2]=>
string(6) "苹果"
}
队列已满,无法入队
array(3) {
[0]=>
string(6) "西瓜"
[1]=>
string(6) "菠萝"
[2]=>
string(6) "苹果"
}
出队成功,内容:西瓜
array(2) {
[0]=>
string(6) "菠萝"
[1]=>
string(6) "苹果"
}
出队成功,内容:菠萝
array(1) {
[0]=>
string(6) "苹果"
}
最终内容
array(1) {
[0]=>
string(6) "苹果"
}
这篇关于PHP实现队列和测试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享