為什么把getIterator這一段注釋掉,也可以順利往下執行排序,可以循環出來結果??
$arr?=?array( ????'name'=>'Danniel', ????'age'=>18, ????'sex'=>'boy', ????'tel'=>'13899999999', ????'city'=>'Beijing' ); $it?=?new?ArrayObject($arr); //$it?=?$it->getIterator(); $it->ksort(); foreach?($it?as?$k=>$v){ ????echo?$k.'=>'.$v.PHP_EOL; } //print_r($it);
加了getIterator方法和不加getIterator方法,執行效果一樣啊,,這是怎么回事?
2019-02-14
在迭代器才沒有進行遍歷【沒有運行過$it->next();】的情況下,指針默認指向的是第一個元素,所以你不使指針歸零【$it->rewind();】也可以從第一個開始迭代遍歷。
視頻中,未加$it->rewind();?沒有遍歷出東西的原因是,這個迭代器$it?在之前還被foreach遍歷過一次使得他的指針到了最后一位。
2018-11-07