摘要:主要是處理數(shù)組相關(guān)的主要功能,與普通不同的是,它是固定長(zhǎng)度的,且以數(shù)字為鍵名的數(shù)組,優(yōu)勢(shì)就是比普通的數(shù)組處理更快。類(lèi)摘要方法導(dǎo)入數(shù)組,返回對(duì)象把對(duì)象數(shù)組導(dǎo)出為真正的數(shù)組由于是定長(zhǎng)數(shù)組,所以超過(guò)定長(zhǎng)就會(huì)拋出異常。
SplFixedArray主要是處理數(shù)組相關(guān)的主要功能,與普通php array不同的是,它是固定長(zhǎng)度的,且以數(shù)字為鍵名的數(shù)組,優(yōu)勢(shì)就是比普通的數(shù)組處理更快。
類(lèi)摘要SplFixedArray implements Iterator , ArrayAccess , Countable { /* 方法 */ public __construct ([ int $size = 0 ] ) public int count ( void ) public mixed current ( void ) //↓↓導(dǎo)入PHP數(shù)組,返回SplFixedArray對(duì)象; public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] ) //↓↓把SplFixedArray對(duì)象數(shù)組導(dǎo)出為真正的數(shù)組; public array toArray ( void ) public int getSize ( void ) public int key ( void ) public void next ( void ) public bool offsetExists ( int $index ) public mixed offsetGet ( int $index ) public void offsetSet ( int $index , mixed $newval ) public void offsetUnset ( int $index ) public void rewind ( void ) public int setSize ( int $size ) public bool valid ( void ) public void __wakeup ( void ) }Example
# Example1: $arr = new SplFixedArray(4); try{ $arr[0] = "php"; $arr[1] = "Java"; $arr[3] = "javascript"; $arr[5] = "mysql"; }catch(RuntimeException $e){ //由于是定長(zhǎng)數(shù)組,所以$arr超過(guò)定長(zhǎng)4;就會(huì)拋出異常。 echo $e->getMessage()," : ",$e->getCode(); } #Example2: // public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] ) $arr = [ "4" => "php", "5" => "javascript", "0" => "node.js", "2" => "linux" ]; //第二參數(shù)默認(rèn)為true的話,保持原索引,如果為false的話,就重組索引; //如下,如果重組了索引,那數(shù)組長(zhǎng)度就為4;如果不重組長(zhǎng)度就為6; $arrObj = SplFixedArray::fromArray($arr); $arrObj->rewind(); while($arrObj->valid()){ echo $arrObj->key(),"=>",$arrObj->current(); echo PHP_EOL; $arrObj->next(); } //↓↓由定長(zhǎng)數(shù)組對(duì)象轉(zhuǎn)換為真正的數(shù)組 $arr = $arrObj->toArray(); print_r($arr);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/31566.html
摘要:是用來(lái)存儲(chǔ)一組對(duì)象的,特別是當(dāng)你需要唯一標(biāo)識(shí)對(duì)象的時(shí)候。類(lèi)實(shí)現(xiàn)了四個(gè)接口??蓪?shí)現(xiàn)統(tǒng)計(jì)迭代序列化數(shù)組式訪問(wèn)等功能。 PHP SPL SplObjectStorage是用來(lái)存儲(chǔ)一組對(duì)象的,特別是當(dāng)你需要唯一標(biāo)識(shí)對(duì)象的時(shí)候。PHP SPL SplObjectStorage類(lèi)實(shí)現(xiàn)了Countable,Iterator,Serializable,ArrayAccess四個(gè)接口??蓪?shí)現(xiàn)統(tǒng)計(jì)、迭代、...
摘要:普通的隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊(duì)列尾追加,而從隊(duì)列頭取出。在優(yōu)先隊(duì)列中,元素被賦予優(yōu)先級(jí)。當(dāng)訪問(wèn)元素時(shí),具有最高優(yōu)先級(jí)的元素最先取出。優(yōu)先隊(duì)列具有最高級(jí)先出,的行為特征。 普通的隊(duì)列是一種先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),元素在隊(duì)列尾追加,而從隊(duì)列頭取出。在優(yōu)先隊(duì)列中,元素被賦予優(yōu)先級(jí)。當(dāng)訪問(wèn)元素時(shí),具有最高優(yōu)先級(jí)的元素最先取出。優(yōu)先隊(duì)列具有最高級(jí)先出 (largest-in,first...
摘要:堆就是為了實(shí)現(xiàn)優(yōu)先隊(duì)列而設(shè)計(jì)的一種數(shù)據(jù)結(jié)構(gòu),它是通過(guò)構(gòu)造二叉堆二叉樹(shù)的一種實(shí)現(xiàn)。根節(jié)點(diǎn)最大的堆叫做最大堆或大根堆,根節(jié)點(diǎn)最小的堆叫做最小堆或小根堆。二叉堆還常用于排序堆排序。 堆(Heap)就是為了實(shí)現(xiàn)優(yōu)先隊(duì)列而設(shè)計(jì)的一種數(shù)據(jù)結(jié)構(gòu),它是通過(guò)構(gòu)造二叉堆(二叉樹(shù)的一種)實(shí)現(xiàn)。根節(jié)點(diǎn)最大的堆叫做最大堆或大根堆,根節(jié)點(diǎn)最小的堆叫做最小堆或小根堆。二叉堆還常用于排序(堆排序)。 showImg(...
摘要:這兩個(gè)類(lèi)都是繼承自,分別派生自的堆棧模式和隊(duì)列模式所以放在一起來(lái)介紹堆棧類(lèi)摘要方法重寫(xiě)了父類(lèi),固定為堆棧模式,然后此處只需要傳或者。 這兩個(gè)類(lèi)都是繼承自SplDoublyLinkedList,分別派生自SplDoublyLinkedList的堆棧模式和隊(duì)列模式;所以放在一起來(lái)介紹; 堆棧SplStack showImg(https://segmentfault.com/img/remo...
摘要:簡(jiǎn)述雙鏈表是一種重要的線性存儲(chǔ)結(jié)構(gòu),對(duì)于雙鏈表中的每個(gè)節(jié)點(diǎn),不僅僅存儲(chǔ)自己的信息,還要保存前驅(qū)和后繼節(jié)點(diǎn)的地址。 簡(jiǎn)述 雙鏈表是一種重要的線性存儲(chǔ)結(jié)構(gòu),對(duì)于雙鏈表中的每個(gè)節(jié)點(diǎn),不僅僅存儲(chǔ)自己的信息,還要保存前驅(qū)和后繼節(jié)點(diǎn)的地址。 showImg(https://segmentfault.com/img/remote/1460000019231932?w=813&h=236); 類(lèi)摘要 ...
閱讀 1396·2023-04-25 18:34
閱讀 3458·2021-11-19 09:40
閱讀 2836·2021-11-17 09:33
閱讀 2950·2021-11-12 10:36
閱讀 2837·2021-09-26 09:55
閱讀 2663·2021-08-05 10:03
閱讀 2527·2019-08-30 15:54
閱讀 2873·2019-08-30 15:54