PHP SPL標(biāo)準(zhǔn)庫之?dāng)?shù)據(jù)結(jié)構(gòu)棧(SplStack)介紹
棧(Stack)是一種特殊的線性表,因?yàn)樗荒茉诰€性表的一端進(jìn)行插入或刪除元素(即進(jìn)棧和出棧)
SplStack就是繼承雙鏈表(SplDoublyLinkedList)實(shí)現(xiàn)棧。
類摘要如下:
簡(jiǎn)單使用如下:
//把棧想象成一個(gè)顛倒的數(shù)組 $stack = new SplStack(); /** * 可見棧和雙鏈表的區(qū)別就是IteratorMode改變了而已,棧的IteratorMode只能為: * (1)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP (默認(rèn)值,迭代后數(shù)據(jù)保存) * (2)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE (迭代后數(shù)據(jù)刪除) */ $stack->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE); $stack->push('a'); $stack->push('b'); $stack->push('c'); $stack->pop(); //出棧 $stack->offsetSet(0, 'first');//index 為0的是最后一個(gè)元素 foreach($stack as $item) { echo $item . PHP_EOL; // first a } print_R($stack); //測(cè)試IteratorMode
- PHP SPL標(biāo)準(zhǔn)庫之文件操作(SplFileInfo和SplFileObject)實(shí)例
- PHP SPL標(biāo)準(zhǔn)庫之?dāng)?shù)據(jù)結(jié)構(gòu)堆(SplHeap)簡(jiǎn)單使用實(shí)例
- 解析PHP SPL標(biāo)準(zhǔn)庫的用法(遍歷目錄,查找固定條件的文件)
- PHP SPL標(biāo)準(zhǔn)庫之SplFixedArray使用實(shí)例
- PHP標(biāo)準(zhǔn)庫(PHP SPL)詳解
- PHP SPL標(biāo)準(zhǔn)庫中的常用函數(shù)介紹
- PHP SPL標(biāo)準(zhǔn)庫之接口(Interface)詳解
- PHP使用標(biāo)準(zhǔn)庫spl實(shí)現(xiàn)的觀察者模式示例
- PHP標(biāo)準(zhǔn)庫 (SPL)——Countable用法示例
相關(guān)文章
laravel 解決groupBy時(shí)出現(xiàn)的錯(cuò)誤 isn''t in Group By問題
今天小編就為大家分享一篇laravel 解決groupBy時(shí)出現(xiàn)的錯(cuò)誤 isn't in Group By問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10thinkphp中AJAX返回ajaxReturn()方法分析
這篇文章主要介紹了thinkphp中AJAX返回ajaxReturn()方法,結(jié)合實(shí)例形式分析了thinkPHP中ajax操作的功能、數(shù)據(jù)返回格式以及ajaxReturn方法的簡(jiǎn)單使用技巧,需要的朋友可以參考下2016-12-12Laravel框架實(shí)現(xiàn)超簡(jiǎn)單的分頁效果示例
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)超簡(jiǎn)單的分頁效果,結(jié)合實(shí)例形式分析了Laravel框架實(shí)現(xiàn)分頁功能的相關(guān)控制器、視圖、模板調(diào)用等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02php 模擬 asp.net webFrom 按鈕提交事件實(shí)例
需要php方面的項(xiàng)目開發(fā),php剛剛?cè)腴T,在寫按鈕提交過程中,asp.net里的按鈕事件更好些,下面有個(gè)實(shí)例,大家可以看看2014-10-10php更新修改excel中的內(nèi)容實(shí)例代碼
這篇文章主要介紹了php更新修改excel中的內(nèi)容實(shí)例代碼,需要的朋友可以參考下2014-02-02