ID: 15010 Updated by: mfischer Old Summary: switch() problem: "+" matches "-" Reported By: [EMAIL PROTECTED] Old Status: Open Status: Bogus Bug Type: Variables related Operating System: RISC OS PHP Version: 4.1.0 New Comment:
Jesus man. case statements not followed by a break; statement fall through. Your code should read: <? $k = "+"; switch($k) { case "-": print "Oh no!"; break; case "+": print "Correct!"; break; } ?> Previous Comments: ------------------------------------------------------------------------ [2002-01-12 18:21:28] [EMAIL PROTECTED] <? $k = "+"; switch($k) { case "-": print "Oh no!"; case "+": print "Correct!"; } ?> outputs "Oh no!". I guess this is because as switch uses ==, + and - are both being automatically converted to the number 0 which then matches? Could switch() perhaps use === instead of == in its comparison? ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=15010&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]