首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP 兑现队列类 仅供参考

2012-11-10 
PHP 实现队列类 仅供参考?php/** * PHP Class for queue * @author yangqijun@live.cn * @copyright Data

PHP 实现队列类 仅供参考

<?php/** * PHP Class for queue * @author yangqijun@live.cn * @copyright DataFrog Beijingbei  Ltd. 2011-07-25 */class Queue {public  $length=12;public  $queue  = array();  //  if String like this "22,23,24"    convert to array to do queuepublic  $delimiter=',';function __construct($queue=array()){$this->queue=$queue;}/** * @desc start queue * @param String  $param  new queue element */public function run($param){if(!is_array($this->queue)){$this->strToQue();}$currentlength=$this->countqueue();  //Count  the  queue lengthif($currentlength<$this->length&&$this->length>0) {$this->queAdd($param);}else if($this->length=0){$this->queue[]=$param;}else {$this->queRemove();$this->queAdd($param);}return $this->queue;}/** * String like this "22,23,24"  convert to array to do queue * @param String $string * @param String $delimiter */public function strToQue (){if (empty($this->queue)){$this->queue=array();}else {$this->queue=explode($this->delimiter,$this->queue);} }/** * insert $node into queue * @param string $node */private function queAdd($node){ array_push($this->queue,$node);$this->countqueue();}private function queRemove(){$node = array_shift($this->queue);$this->countqueue();return $node;}private function countqueue(){$currentlength= count($this->queue);return $currentlength;}function __destruct(){unset($this->queue);}}//example $str='' ;            //array();$obj=new Queue ($str);$obj->length=8;  // 队列元素长度 $obj->delimiter='|';  //如果队列是字符串,则元素直接的分隔符为|$a=$obj->run('91');   //要添加到队列中的元素$a=$obj->run('92'); $a=$obj->run('93'); $a=$obj->run('94'); print_r($a); ?>

热点排行