关于PHP堆栈与列队的学习


Posted in PHP onJune 21, 2013

在PHP中数组常被当作堆栈(后进先出:LIFO)与队列(先进先出:FIFO)结构来使用。PHP提供了一组函数可以用于push与pop(堆栈)还有shift与unshift(队列)来操作数组元素。堆栈与列队在实践中应用非常广泛。
我们可以先看下堆栈:
 

 <?php
   $arr = array();
   array_push($arr,'aaa');
   array_push($arr,'bbb');
   $arr.pop();
   print_r($arr);
?>
 

如果你打算把数组作为队列来使用(FIFO),你可以使用array_unshift()来增加元素,使用array_shift()删除:
<?php
   $arr = array();
   array_unshift($arr,'aaa');
   array_unshift($arr,'bbb');
   print_r($arr);
   array_shift($arr);
   print_r($arr);
?>

PHP 相关文章推荐
php获取某个目录大小的代码
Sep 10 PHP
PHP Pear 安装及使用
Mar 19 PHP
php pcntl_fork和pcntl_fork 的用法
Apr 13 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
关于访问控制的一首PHP面试题(对属性或方法的访问控制)
Sep 13 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
PHP解决URL中文GBK乱码问题的两种方法
Jun 03 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
Nov 15 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
PHP+JS实现的实时搜索提示功能
Mar 13 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 #PHP
浅析PHP中Collection 类的设计
Jun 21 #PHP
解析PHP无限级分类方法及代码
Jun 21 #PHP
PHP 循环删除无限分类子节点的实现代码
Jun 21 #PHP
解析左右值无限分类的实现算法
Jun 20 #PHP
解析thinkphp的左右值无限分类
Jun 20 #PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 #PHP
You might like
解决GD中文乱码问题
2007/02/14 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
浅析Yii2中GridView常见操作
2016/04/22 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
2016/08/17 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
js确定对象类型方法
2012/03/30 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
利用Python爬取可用的代理IP
2016/08/18 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
python安装gdal的两种方法
2019/10/29 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
Python过滤序列元素的方法
2020/07/31 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
HTML5手机端弹出遮罩菜单特效代码
2016/01/27 HTML / CSS
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
甜品店的创业计划书范文
2014/01/02 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
活动总结怎么写
2014/04/28 职场文书
岗位职责说明书
2014/05/07 职场文书
幸福来敲门观后感
2015/06/04 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
详解JS ES6编码规范
2021/05/07 Javascript