16行 $obj = new ArrayObject($fruits) 然后 $it = $obj->getiterator();
为什么不直接$it = new ArrayIterator;
还有个问题,翻看php手册发现ArrayObject的getiterator方法是个静态方法,而用静态方法调用时报错,用"->"调用却可以。有点费解
第一个问题:当你想多次遍历相同数组时你需要实例化ArrayObject,然后让这个实例创建一个ArrayIteratror实例 ,然后使用foreach或者 手动调用getIterator()方法
第二个问题:ArrayObject的getiterator也不是一个静态方法,这个你当ArrayObject::getiterator();这样使用的时候就会报错,错误:getiterator非静态方法数组对象