From: Operating system: Debian PHP version: 5.3.10 Package: SPL related Bug Type: Bug Bug description:ArrayIterator created from empty ArrayObject gives misleading notice on next()
Description: ------------ When trying to iterate the ArrayIterator of an empty ArrayObject, it throws a very misleading notice complaining about how the array was modified. In a complicated system, this will likely lead to a long wild goose chase of trying to find all the possible places where the object could have been accessed through some other iterator, when in reality the error is of a completely different nature. Test script: --------------- error_reporting(E_ALL); $ao = new ArrayObject(array()); $ai = $ao->getIterator(); $ai->next(); Expected result: ---------------- $ai->next() returns null; no errors. (Or maybe a notice saying you reached the end of the array.) Actual result: -------------- $ai->next() returns null and throws a notice saying "ArrayIterator::next(): Array was modified outside object and internal position is no longer valid". -- Edit bug report at https://bugs.php.net/bug.php?id=61527&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=61527&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=61527&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=61527&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=61527&r=fixed Fixed in SVN and need be documented: https://bugs.php.net/fix.php?id=61527&r=needdocs Fixed in release: https://bugs.php.net/fix.php?id=61527&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=61527&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=61527&r=needscript Try newer version: https://bugs.php.net/fix.php?id=61527&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=61527&r=support Expected behavior: https://bugs.php.net/fix.php?id=61527&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=61527&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=61527&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=61527&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=61527&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=61527&r=dst IIS Stability: https://bugs.php.net/fix.php?id=61527&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=61527&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=61527&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=61527&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=61527&r=mysqlcfg