为了账号安全,请及时绑定邮箱和手机立即绑定

ArrayObject 的 getiteratpr方法得到的迭代器与 ArrayIterator实例化后的迭代器有什么不一样么???

16行 $obj = new ArrayObject($fruits)  然后 $it = $obj->getiterator();

为什么不直接$it = new ArrayIterator;

还有个问题,翻看php手册发现ArrayObject的getiterator方法是个静态方法,而用静态方法调用时报错,用"->"调用却可以。有点费解

正在回答

1 回答

第一个问题:当你想多次遍历相同数组时你需要实例化ArrayObject,然后让这个实例创建一个ArrayIteratror实例 ,然后使用foreach或者 手动调用getIterator()方法

第二个问题:ArrayObject的getiterator也不是一个静态方法,这个你当ArrayObject::getiterator();这样使用的时候就会报错,错误:getiterator非静态方法数组对象


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

ArrayObject 的 getiteratpr方法得到的迭代器与 ArrayIterator实例化后的迭代器有什么不一样么???

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号