If you use exchangeArray method of ArrayObject and then next method of ArrayIterator like this:<?php $fruits = array("apple", "grape", "lemon"); $colors = array("blue", "yellow", "green"); $arrayObject = new ArrayObject($fruits); $arrayIterator = $arrayObject->getIterator(); while($arrayIterator->valid()) { if ($arrayIterator->current() == "grape") { $arrayObject->exchangeArray($colors); } $arrayIterator->next(); }?>You will receive:PHP Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer validSo be careful with next and prev operations. :)