#39477 [NEW]: foreach iterators have global scope

From: Date: Sun, 12 Nov 2006 11:26:34 +0000
Subject: #39477 [NEW]: foreach iterators have global scope
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-104841@lists.php.net to get a copy of this message
From: phpbug dot 20 dot antialias at spamgourmet dot com Operating system: Mac OS X v. 10.4.8 PHP version: 5.2.0 PHP Bug Type: Scripting Engine problem Bug description: foreach iterators have global scope Description: ------------ foreach iterators are bound to the scope of their arrays. This causes problems when a global array has been partially iterated through, and then inside the foreach, the same global array is iterated through again. The the inner foreach iterator effectively completes the iterations of the outer foreach iterator, yielding unexpected results. Reproduce code: --------------- $t = array("1", "2"); global $t; foreach($t as $a) { foreach($t as $b) { echo $b; } echo $a; } Expected result: ---------------- 1212 Actual result: -------------- 121 -- Edit bug report at http://bugs.php.net/?id=39477&edit=1 -- Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=39477&r=trysnapshot44 Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=39477&r=trysnapshot52 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=39477&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=39477&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=39477&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=39477&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=39477&r=needscript Try newer version: http://bugs.php.net/fix.php?id=39477&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=39477&r=support Expected behavior: http://bugs.php.net/fix.php?id=39477&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=39477&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=39477&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=39477&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=39477&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=39477&r=dst IIS Stability: http://bugs.php.net/fix.php?id=39477&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=39477&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=39477&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=39477&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=39477&r=mysqlcfg

« previous php.bugs (#104841) next »