<code><span><span><?php </span><span>/** * PHP Class for queue *<span> @author</span> yangqijun@live.cn *<span> @copyright</span> DataFrog Beijingbei Ltd. 2011-07-25 */</span><span><span>class</span><span>Queue</span> {</span><span>public</span><span>$length</span>=<span>12</span>; <span>//默认队列,相当于初始化队列</span><span>public</span><span>$queue</span> = <span>array</span>(); <span>// if String like this "22,23,24" convert to array to do queue </span><span>public</span><span>$delimiter</span>=<span>','</span>; <span><span>function</span><span>__construct</span><span>(<span>$queue</span>=array<span>()</span>)</span> {</span><span>$this</span>->queue=<span>$queue</span>; } <span>/** *<span> @desc</span> start queue *<span> @param</span> String $param new queue element */</span><span>public</span><span><span>function</span><span>run</span><span>(<span>$param</span>)</span> {</span><span>if</span>(!is_array(<span>$this</span>->queue)){ <span>$this</span>->strToQue();<span>//将数组视为队列 </span> } <span>$currentlength</span>=<span>$this</span>->countqueue(); <span>//Count the queue length</span><span>echo</span><span>$currentlength</span>; <span>echo</span><span>$this</span>->length.<span>'<br>'</span>; <span>if</span>(<span>$currentlength</span>$this</span>->length&&<span>$this</span>->length><span>0</span>) { <span>$this</span>->queAdd(<span>$param</span>); }<span>else</span><span>if</span>(<span>$this</span>->length==<span>0</span>) <span>//如果为空队列,则将队列初始化为输入的队列</span> { <span>$param</span>=<span>empty</span>(<span>$param</span>)?<span>0</span>:<span>$param</span>; <span>$this</span>->queue[]=<span>$param</span>; } <span>else</span> { <span>for</span> (<span>$i</span>=<span>0</span>;<span>$i</span>$currentlength</span>-<span>$this</span>->length-<span>1</span>;<span>$i</span>++)<span>//队列比规定的队列多,要删掉队首的元素,才能入队</span> { <span>$this</span>->queRemove(); } <span>$this</span>->queAdd(<span>$param</span>); } <span>return</span><span>$this</span>->queue; } <span>/** * String like this "22,23,24" convert to array to do queue *<span> @param</span> String $string *<span> @param</span> String $delimiter */</span><span>public</span><span><span>function</span><span>strToQue</span><span>()</span>{</span><span>if</span> (<span>empty</span>(<span>$this</span>->queue)) { <span>$this</span>->queue=<span>array</span>(); } <span>else</span> { <span>$this</span>->queue=explode(<span>$this</span>->delimiter,<span>$this</span>->queue); } } <span>/** * insert $node into queue *<span> @param</span> string $node */</span><span>private</span><span><span>function</span><span>queAdd</span><span>(<span>$node</span>)</span>{</span> array_push(<span>$this</span>->queue,<span>$node</span>); <span>$this</span>->countqueue(); } <span>private</span><span><span>function</span><span>queRemove</span><span>()</span>{</span><span>$node</span> = array_shift(<span>$this</span>->queue); <span>$this</span>->countqueue(); <span>return</span><span>$node</span>; } <span>private</span><span><span>function</span><span>countqueue</span><span>()</span>{</span><span>$currentlength</span>= count(<span>$this</span>->queue); <span>return</span><span>$currentlength</span>; } <span><span>function</span><span>__destruct</span><span>()</span> {</span><span>unset</span>(<span>$this</span>->queue); } } <span>//example </span><span>$str</span>=<span>'88|89|90|56|23|45|69|23|20|100'</span>; <span>$obj</span>=<span>new</span> Queue (<span>$str</span>); <span>$obj</span>->length=<span>8</span>; <span>// 队列元素长度 </span><span>$obj</span>->delimiter=<span>'|'</span>; <span>//如果队列是字符串,则元素直接的分隔符为| </span><span>$a</span>=<span>$obj</span>->run(<span>'91'</span>); <span>//要添加到队列中的元素 </span><span>$a</span>=<span>$obj</span>->run(<span>'92'</span>); <span>$a</span>=<span>$obj</span>->run(<span>'93'</span>); <span>$a</span>=<span>$obj</span>->run(<span>'94'</span>); print_r(<span>$a</span>); <span>?></span></code>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了php 隊列類,包括了php,隊列方面的內容,希望對PHP教程有興趣的朋友有幫助。
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

自動加載PHP會在需要時自動加載類文件,從而通過減少內存使用和增強代碼組織來提高性能。最佳實踐包括使用PSR-4和有效組織代碼。

本文討論了在PHP中管理文件上傳大小的管理,重點是2MB的默認限制以及如何通過修改PHP.INI設置來增加它。

本文討論了PHP 7.1中引入的PHP中的無效類型,允許變量或參數為指定類型或NULL。它突出顯示了諸如提高可讀性,類型安全性和明確意圖的好處,並解釋瞭如何聲明

本文討論了unset()和unlink()功能在編程中的差異,重點關注其目的和用例。 unset()從內存中刪除變量,而unlink()從文件系統中刪除文件。兩者都對效率至關重要


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章
Windows 11 KB5054979中的新功能以及如何解決更新問題
3 週前ByDDD
如何修復KB5055523無法在Windows 11中安裝?
2 週前ByDDD
Inzoi:如何申請學校和大學
4 週前ByDDD
如何修復KB5055518無法在Windows 10中安裝?
2 週前ByDDD
Roblox:Dead Rails - 如何召喚和擊敗Nikola Tesla
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版
SublimeText3 Linux最新版

記事本++7.3.1
好用且免費的程式碼編輯器