From: mark at lange dot demon dot co dot uk Operating system: All PHP version: 5.3.26 Package: SPL related Bug Type: Bug Bug description:SPLHeap next() removes current node
Description: ------------ When iterating through an SPLHeap, each node is removed from the heap as you loop through to the next node. Investigation has suggested that it is the next() method that removes the current node before moving to the next. Test script: --------------- https://gist.github.com/MarkBaker/5896053 Expected result: ---------------- There are 7 cities in the heap FROM NORTH TO SOUTH Newcastle upon Tyne +54.9833 -1.5833 Leeds +53.8100 -1.5500 Manchester +53.4800 -2.2400 Liverpool +53.4167 -3.0000 Birmingham +52.4800 -1.9100 London +51.5171 -0.1062 Bristol +51.4600 -2.6000 There are 7 cities in the heap There should be the same number of city nodes in the heap after iterating through as there were before. Actual result: -------------- There are 7 cities in the heap FROM NORTH TO SOUTH Newcastle upon Tyne +54.9833 -1.5833 Leeds +53.8100 -1.5500 Manchester +53.4800 -2.2400 Liverpool +53.4167 -3.0000 Birmingham +52.4800 -1.9100 London +51.5171 -0.1062 Bristol +51.4600 -2.6000 There are 0 cities in the heap However, there a 0 city nodes left in the heap after iterating through them. -- Edit bug report at https://bugs.php.net/bug.php?id=65170&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=65170&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=65170&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=65170&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=65170&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=65170&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=65170&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=65170&r=needscript Try newer version: https://bugs.php.net/fix.php?id=65170&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=65170&r=support Expected behavior: https://bugs.php.net/fix.php?id=65170&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=65170&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=65170&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=65170&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=65170&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=65170&r=dst IIS Stability: https://bugs.php.net/fix.php?id=65170&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=65170&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=65170&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=65170&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=65170&r=mysqlcfg