ArrayObject 的 getiteratpr方法得到的迭代器與 ArrayIterator實例化后的迭代器有什么不一樣么???
16行 $obj = new ArrayObject($fruits)? 然后 $it = $obj->getiterator();
為什么不直接$it = new ArrayIterator;
還有個問題,翻看php手冊發(fā)現(xiàn)ArrayObject的getiterator方法是個靜態(tài)方法,而用靜態(tài)方法調(diào)用時報錯,用"->"調(diào)用卻可以。有點費解
2016-06-26
第一個問題:當(dāng)你想多次遍歷相同數(shù)組時你需要實例化ArrayObject,然后讓這個實例創(chuàng)建一個ArrayIteratror實例 ,然后使用foreach或者 手動調(diào)用getIterator()方法
第二個問題:ArrayObject的getiterator也不是一個靜態(tài)方法,這個你當(dāng)ArrayObject::getiterator();這樣使用的時候就會報錯,錯誤:getiterator非靜態(tài)方法數(shù)組對象