ID: 27923 Updated by: [EMAIL PROTECTED] Reported By: adam at trachtenberg dot com Status: Verified Bug Type: Zend Engine 2 problem Operating System: * PHP Version: 5CVS-2004-04-13 Assigned To: andi New Comment:
Cannot reproduce on Linux or Mac OS X with snapshots, but bug continues to exist on Mac OS X when building from CVS. Previous Comments: ------------------------------------------------------------------------ [2004-04-23 01:44:54] [EMAIL PROTECTED] Any chance of this getting into RC2? ------------------------------------------------------------------------ [2004-04-12 19:43:25] [EMAIL PROTECTED] See also bug #27964 (a bit different case but same errors :) ------------------------------------------------------------------------ [2004-04-12 19:40:07] adam at trachtenberg dot com Jesus. Sometimes I reduce the test case too far. :) $a = array('foo', 'bar'); foreach ($a as &$value) { $value = strtoupper($value); } print_r($a); $a should have FOO and BAR, as it works okay if you do: foreach ($a as $k => &$value) { $value = strtoupper($value); } But PHP gives an error on the first example w/o my patch. (At least I hope it still does, I need to recompile PHP to triple check.) ------------------------------------------------------------------------ [2004-04-12 19:31:58] [EMAIL PROTECTED] your example doesn't have any references in it..? (and it works fine when I replace the last ) with } :) ------------------------------------------------------------------------ [2004-04-08 15:20:44] adam at trachtenberg dot com Description: ------------ In PHP 5, foreach() allows you to iterate over values by reference. This does not work when you do foreach($array as $value) instead of foreach($array as $key => $value). I believe this patch fixes the problem, but someone should *really* double check it. :) http://www.trachtenberg.com/patches/ foreach_by_reference.txt Reproduce code: --------------- php -r '$array = array(); foreach($array as $value) {)' Expected result: ---------------- Nothing. Actual result: -------------- PHP Fatal error: Key element cannot be a reference in Command line code on line 1 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27923&edit=1