摘要:是用來存儲一組對象的,特別是當你需要唯一標識對象的時候。類實現(xiàn)了四個接口。可實現(xiàn)統(tǒng)計迭代序列化數(shù)組式訪問等功能。
PHP SPL SplObjectStorage是用來存儲一組對象的,特別是當你需要唯一標識對象的時候。
PHP SPL SplObjectStorage類實現(xiàn)了Countable,Iterator,Serializable,ArrayAccess四個接口。可實現(xiàn)統(tǒng)計、迭代、序列化、數(shù)組式訪問等功能。
SplObjectStorage implements Countable , Iterator , Serializable , ArrayAccess { /* 方法 */ public void addAll ( SplObjectStorage $storage ) // ↓↓加入對象 public void attach ( object $object [, mixed $data = NULL ] ) // ↓↓檢查是否包含指定對象 public bool contains ( object $object ) // ↓↓移除對象 public void detach ( object $object ) // ↓↓返回一串哈希值,每次調(diào)用的時候該串哈希值都在改變 public string getHash ( object $object ) public mixed getInfo ( void ) public int count ( void ) public object current ( void ) public int key ( void ) public void next ( void ) public bool offsetExists ( object $object ) public mixed offsetGet ( object $object ) public void offsetSet ( object $object [, mixed $data = NULL ] ) public void offsetUnset ( object $object ) public void removeAll ( SplObjectStorage $storage ) public void removeAllExcept ( SplObjectStorage $storage ) public void rewind ( void ) public string serialize ( void ) public void setInfo ( mixed $data ) public void unserialize ( string $serialized ) public bool valid ( void ) }Example
# Example1: class A { public $i; public function __construct($i) { $this->i = $i; } } $a1 = new A(1); $a2 = new A(2); $a3 = new A(3); $a4 = new A(4); $container = new SplObjectStorage(); //SplObjectStorage::attach 添加對象到Storage中 $container->attach($a1); $container->attach($a2); $container->attach($a3); //SplObjectStorage::detach 將對象從Storage中移除 $container->detach($a2); //SplObjectStorage::contains用于檢查對象是否存在Storage中 var_dump($container->contains($a1)); //true var_dump($container->contains($a4)); //false //遍歷 $container->rewind(); while($container->valid()) { var_dump($container->current()); var_dump($container->getInfo()); $container->next(); }參考
http://php.net/manual/zh/clas...
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/31586.html
摘要:普通的隊列是一種先進先出的數(shù)據(jù)結構,元素在隊列尾追加,而從隊列頭取出。在優(yōu)先隊列中,元素被賦予優(yōu)先級。當訪問元素時,具有最高優(yōu)先級的元素最先取出。優(yōu)先隊列具有最高級先出,的行為特征。 普通的隊列是一種先進先出的數(shù)據(jù)結構,元素在隊列尾追加,而從隊列頭取出。在優(yōu)先隊列中,元素被賦予優(yōu)先級。當訪問元素時,具有最高優(yōu)先級的元素最先取出。優(yōu)先隊列具有最高級先出 (largest-in,first...
摘要:主要是處理數(shù)組相關的主要功能,與普通不同的是,它是固定長度的,且以數(shù)字為鍵名的數(shù)組,優(yōu)勢就是比普通的數(shù)組處理更快。類摘要方法導入數(shù)組,返回對象把對象數(shù)組導出為真正的數(shù)組由于是定長數(shù)組,所以超過定長就會拋出異常。 SplFixedArray主要是處理數(shù)組相關的主要功能,與普通php array不同的是,它是固定長度的,且以數(shù)字為鍵名的數(shù)組,優(yōu)勢就是比普通的數(shù)組處理更快。 類摘要 SplF...
摘要:堆就是為了實現(xiàn)優(yōu)先隊列而設計的一種數(shù)據(jù)結構,它是通過構造二叉堆二叉樹的一種實現(xiàn)。根節(jié)點最大的堆叫做最大堆或大根堆,根節(jié)點最小的堆叫做最小堆或小根堆。二叉堆還常用于排序堆排序。 堆(Heap)就是為了實現(xiàn)優(yōu)先隊列而設計的一種數(shù)據(jù)結構,它是通過構造二叉堆(二叉樹的一種)實現(xiàn)。根節(jié)點最大的堆叫做最大堆或大根堆,根節(jié)點最小的堆叫做最小堆或小根堆。二叉堆還常用于排序(堆排序)。 showImg(...
摘要:這兩個類都是繼承自,分別派生自的堆棧模式和隊列模式所以放在一起來介紹堆棧類摘要方法重寫了父類,固定為堆棧模式,然后此處只需要傳或者。 這兩個類都是繼承自SplDoublyLinkedList,分別派生自SplDoublyLinkedList的堆棧模式和隊列模式;所以放在一起來介紹; 堆棧SplStack showImg(https://segmentfault.com/img/remo...
摘要:簡述雙鏈表是一種重要的線性存儲結構,對于雙鏈表中的每個節(jié)點,不僅僅存儲自己的信息,還要保存前驅(qū)和后繼節(jié)點的地址。 簡述 雙鏈表是一種重要的線性存儲結構,對于雙鏈表中的每個節(jié)點,不僅僅存儲自己的信息,還要保存前驅(qū)和后繼節(jié)點的地址。 showImg(https://segmentfault.com/img/remote/1460000019231932?w=813&h=236); 類摘要 ...
閱讀 3712·2023-04-25 17:45
閱讀 3426·2021-09-04 16:40
閱讀 999·2019-08-30 13:54
閱讀 2126·2019-08-29 12:59
閱讀 1396·2019-08-26 12:11
閱讀 3273·2019-08-23 15:17
閱讀 1516·2019-08-23 12:07
閱讀 3878·2019-08-22 18:00