ID: 24300 Updated by: [EMAIL PROTECTED] Reported By: chris at chrisseaton dot com -Status: Open +Status: Feedback Bug Type: Scripting Engine problem Operating System: Linux PHP Version: 4.3.2 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Works as expected with PHP versions 4.2.3, 4.3.1, 4.3.3-dev.. Previous Comments: ------------------------------------------------------------------------ [2003-06-23 14:41:11] chris at chrisseaton dot com Eratta: Obviously, I mean "if ($n == 2)" ------------------------------------------------------------------------ [2003-06-23 14:36:56] chris at chrisseaton dot com Description: ------------ If you are in a "for" loop you can't modify the itterative variable. PHP seems to revert it the value at the start of the itteration. This is standard behaviour for both C and Java. The PHP documentation does not forbid this, and the syntax suggests it is possible, so I assume this is a bug and not a design decision. Reproduce code: --------------- for ($n = 0; $n < 4; $n++) { print("$n\n"); if ($n = 2) $n = 4; } Expected result: ---------------- 0 1 2 Actual result: -------------- 0 1 2 3 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24300&edit=1