PHP 兑现队列类 仅供参考
Jun 13, 2016 pm 01:06 PM
array
function
gt
queue
this
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 queue public $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 length if($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); ?>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
3 minggu yang lalu
By DDD
R.E.P.O. Simpan Fail Lokasi: Di manakah & bagaimana untuk melindunginya?
3 minggu yang lalu
By DDD

Alat panas Tag

Artikel Panas
R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu
By 尊渡假赌尊渡假赌尊渡假赌
Berapa lama masa yang diperlukan untuk mengalahkan fiksyen berpecah?
3 minggu yang lalu
By DDD
R.E.P.O. Simpan Fail Lokasi: Di manakah & bagaimana untuk melindunginya?
3 minggu yang lalu
By DDD

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah perbezaan antara Huawei GT3 Pro dan GT4?

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Queue untuk mengendalikan tugas tak segerak?

Betulkan: Alat snipping tidak berfungsi dalam Windows 11

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone

Isih tatasusunan menggunakan fungsi Array.Isih dalam C#

Isu keselamatan dan penyelesaian untuk Java Queue dalam persekitaran berbilang benang
