PHP使用数组实现队列
PHP中将数组当做一个栈,主要是使用array_push()和array_pop()两个系统函数来完成。入栈主要是利用array_push()函数向第一个参数的数组尾部添加一个或多个元素,然后返回新数组的长度,示例如下:
而PHP中,将数组当作是队列则主要是用array_push()和array_shift()实现。
代码如下:
<?php
$zhan=array("WEB");//声明一个数组当做队列
array_push($zhan,"PHP");//将字符串压入栈(数组)中
array_push($zhan,"WWW.CHHUA.COM");//再压入一个元素
print_r($zhan);//打印数组内容
?>
出栈主要是利用array_shift()函数将数组的第一个元素弹出,并将数组的长度减1,示例如下:
代码如下:
<?php
$zhan=array("WEB","www.chhua.com","WEB开发笔记","PHP","网站建设");//声明一个数组当做栈
array_shift($zhan);//将字符串出队(数组)中
print_r($zhan);//打印数组内容 Array([0] => WEB[1] => www.chhua.com[2] => WEB开发笔记[3] => PHP)
?>
相关推荐
-
phpredis提高消息队列的实时性方法(推荐)
数据库存贮都用list形式 要存2个队列 1个用作消息队列保存到数据 还有个 就是用来实时读取数据在redis $redis->lpush($queenkey, json_encode($array)); $redis->lpush($listkey, json_encode($array)); /*消息队列实例*/ public function insertinfo() { $infos = array('info1' => mt_rand(10,100), 'info2' =>
-
PHP的Laravel框架中使用消息队列queue及异步队列的方法
queue配置 首先说明一下我之前的项目中如何使用queue的. 我们现在的项目都是用的symfony,老一点的项目用的symfony1.4,新一点的项目用的都是symfony2.symfony用起来整体感觉还是很爽的,尤其symfony2,整体上来讲使用了很多java里面框架的设计思想.但是他不支持queue.在symfony,我们使用queue也经历了几个过程.最开始使用张堰同学的httpsqs.这个简单使用,但是存在单点.毕竟我们的项目还是正式对外服务的,所以我们研究了Apache旗下的开
-
PHP+memcache实现消息队列案例分享
memche消息队列的原理就是在key上做文章,用以做一个连续的数字加上前缀记录序列化以后消息或者日志.然后通过定时程序将内容落地到文件或者数据库. php实现消息队列的用处比如在做发送邮件时发送大量邮件很费时间的问题,那么可以采取队列.方便实现队列的轻量级队列服务器是:starling支持memcache协议的轻量级持久化服务器https://github.com/starling/starlingBeanstalkd轻量.高效,支持持久化,每秒可处理3000左右的队列http://kr.gi
-
队列在编程中的实际应用(php)
一:队列的概念.数据结构 队列(Queue)是运算受到限制的一种线性表.只允许在表的一端进行插入,而在另一端进行删除元素的线性表.队尾(rear)是允许插入的一端.队头(front)是允许删除的一端.空队列是不含元素的空表. 假设有个队列Q=(a1,a2,-,an),则a1为队头元素,an为队尾元素.元素入队的次序为a1,a2,-,an,而出队的次序为a1,a2,-,an.可见队列的操作是按照先进先出的原则进行的. 其他详细的介绍请在网上搜索很多资料. 二:PHP的队列 在PHP中队列以数组的形
-
php Memcache 中实现消息队列
对于一个很大的消息队列,频繁进行进行大数据库的序列化 和 反序列化,有太耗费.下面是我用PHP 实现的一个消息队列,只需要在尾部插入一个数据,就操作尾部,不用操作整个消息队列进行读取,与操作.但是,这个消息队列不是线程安全的,我只是尽量的避免了冲突的可能性.如果消息不是非常的密集,比如几秒钟才一个,还是可以考虑这样使用的. 如果你要实现线程安全的,一个建议是通过文件进行锁定,然后进行操作.下面是代码: 复制代码 代码如下: class Memcache_Queue { private $memc
-
PHP实现的memcache环形队列类实例
本文实例讲述了PHP实现的memcache环形队列类.分享给大家供大家参考.具体如下: 这里介绍了PHP实现的memcache环形队列类.没咋学过数据结构,因为业务需要,所以只是硬着头皮模拟的! 参考PHP memcache 队列代码.为使队列随时可入可出,且不受int长度越界危险(单链采取Head自增的话不作处理有越界可能),所以索性改写成环形队列.可能还有BUG,忘见谅! <?php /** * PHP memcache 环形队列类 * 原作者 LKK/lianq.net * 修改 FoxH
-
php实现的双向队列类实例
本文实例讲述了php实现的双向队列类及其用法,对于PHP数据结构与算法的学习有不错的参考价值.分享给大家供大家参考.具体分析如下: (deque,全名double-ended queue)是一种具有队列和栈的性质的数据结构.双向队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行. 在实际使用中,还可以有输出受限的双向队列(即一个端点允许插入和删除,另一个端点只允许插入的双向队列)和输入受限的双向队列(即一个端点允许插入和删除,另一个端点只允许删除的双向队列).而如果限定双向队列从某个
-
PHP消息队列用法实例分析
本文实例讲述了PHP消息队列用法.分享给大家供大家参考,具体如下: 该消息队列用于linux下,进程通信 #根据路径和后缀创建一个id $key = ftok(__DIR__, 'R'); #获取队列中的消息 $q = msg_get_queue($key); #删除队列 msg_remove_queue($q); #获取队列的状态信息 $status = msg_stat_queue($q); print_r($status); echo "\n"; for($i=0;$i<1
-
PHP队列原理及基于队列的写文件案例
本文实例讲述了PHP队列原理及基于队列的写文件案例.分享给大家供大家参考,具体如下: 队列是一种线性表,按照先进先出的原则进行的: 入队: 出队: PHP实现队列:第一个元素作为队头,最后一个元素作为队尾 <?php /** * 队列就是这么简单 * * @link */ $array = array('PHP', 'JAVA'); array_push($array, 'PYTHON'); //入队列 array_shift($array); //出队列 什么是双端队列(或双向队列)Deque
-
PHP队列用法实例
本文实例讲述了PHP队列用法.分享给大家供大家参考.具体分析如下: 什么是队列,是先进先出的线性表,在具体应用中通常用链表或者数组来实现,队列只允许在后端进行插入操作,在前端进行删除操作. 什么情况下会用了队列呢,并发请求又要保证事务的完整性的时候就会用到队列,当然不排除使用其它更好的方法,知道的不仿说说看. 队列还可以用于减轻数据库服务器压力,我们可以将不是即时数据放入到队列中,在数据库空闲的时候或者间隔一段时间后执行.比如访问计数器,没有必要即时的执行访问增加的Sql,在没有使用队列的时候s
-
PHP基于Redis消息队列实现发布微博的方法
本文实例讲述了PHP基于Redis消息队列实现发布微博的方法.分享给大家供大家参考,具体如下: phpRedisAdmin :github地址 图形化管理界面 git clone [url]https://github.com/ErikDubbelboer/phpRedisAdmin.git[/url] cd phpRedisAdmin git clone [url]https://github.com/nrk/predis.git[/url] vendor 首先安装上述的Redis图形化管理
随机推荐
- 一个简单Ajax类库及使用方法实例分析
- 正则表达式解二元方程式代码
- Linux 中PHP的安装教程
- JavaScript 正则表达式中global模式的特性
- JavaScript通过字典进行字符串翻译转换的方法
- 分享下Asp.Net面试题目及答案集合
- dedecms中使用php语句指南
- php判断用户是否关注微信公众号
- Session的工作机制详解和安全性问题(PHP实例讲解)
- C#自动创建数据库实现代码
- C语言可变参数函数详解示例
- 如何解决attachEvent函数时,this指向被绑定的元素的问题?
- js简单设置与使用cookie的方法
- 收集的9个著名的管理法则
- Lua中的全局变量、非全局变量总结
- jquery比较简洁的软键盘特效实现方法
- javascript跨域的方法汇总
- js手机号批量滚动抽奖实现代码
- odbcasvc.exe导致CPU使用100%问题的解决办法
- Java中使用异或语句实现两个变量的互换