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); ?>