ID: 15515 Updated by: [EMAIL PROTECTED] -Summary: Constructions involving "... or ..." don't work properly. Reported By: [EMAIL PROTECTED] -Status: Open +Status: Duplicate Bug Type: Compile Failure Operating System: RH Linux 7.2 (kernel 2.4.9-21) PHP Version: 4.0.6 New Comment:
This is a dupe... I'm sure I read a bug about this before, but I can't find it... Anyway, 'or return' doesn't. Previous Comments: ------------------------------------------------------------------------ [2002-02-11 21:44:24] [EMAIL PROTECTED] Script: <?php function foo() { $result = mysql_query("SELECT 1") or return false; //fails print("foo") or return false; // fails print("foo") or return 0; // fails print("foo") or return(false); // fails $result = mysql_query("SELECT 1") or die(); // works } ?> This bug seems to be present in PHP versions 4.0.6, and 4.2.0 - it's been tried on more than one machine (including two that I haven't installed myself). Essentially, constructions involving <expr1> or <expr2>, where expr2 is a keyword (return, continue, break, etc) fail with a parse error, whereas constructions where expr2 is a function (such as die() etc) succeed. This bug is not specific to the "or" keyword, either. It also occurs with the "and" keyword. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=15515&edit=1