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

Reply via email to