|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-11-11 13:09 UTC] moptop69 at ntlworld dot com
Whilst converting what was turning out to be an increasingly lengthy and untidy set of IF statements, i found this error. Similar in effect to http://bugs.php.net/bug.php?id=1812 When a switch case structure is used inside a for loop, the execution of the PHP script is NULL (or sometimes a page header is created) example1: $i=1; switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2"; } this script works correctly and outputs as you would expect. However, if the switch statement is enclosed in a for loop like so: for ($i=0; $i<4; $i++) { switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2"; } } the script does not seem to execute at all. I deliberately introduced bad syntax into the program, leaving off terminating ; and not using $ but the script does not even output errors. It would appear the the script is not even getting to an error reporting stage. This has been tested on 4.2.1 and 4.2.3 versions od PHP PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 23:00:01 2025 UTC |
exactly as included previously: case_test1.php: --------------- <? $i=1; switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2"; } ?> case_test2.php -------------- <? for ($i==0; $i<4; %i++) { switch ($i) { case 0: print "i equals 0"; break; case 1: print "i equals 1"; break; case 2: print "i equals 2"; break; default: print "i is not equal to 0, 1 or 2"; } } ?> runnning on win2k pro - sp3 - iis5 (all current security patches) and just in case it makes any difference, I am NOT running any Zend compiler/speed products currently