ID: 28727 User updated by: vvkrougl at mail dot ru Reported By: vvkrougl at mail dot ru -Status: Bogus +Status: Closed Bug Type: Compile Failure Operating System: FreeBSD PHP Version: 4.3.4 New Comment:
Thanks, I understand. I rewrite my code to: if ( !($res = some_func()) ) break; But this line looks more nicely and it is a pity that she does not work: $res = some_func() or break; Thanks! Previous Comments: ------------------------------------------------------------------------ [2004-06-10 14:27:22] [EMAIL PROTECTED] break is language construct and cannot be used in such expressions just becase PHP can't compute the value of such expression. On the other hand, die() is just a function, which returns a result value. couple of example: if ($foo == $var || break) //wrong. break returns nothing and PHP cannot compute expression's value. if ($foo == $var || echo) //wrong. echo returns nothing if ($foo == $var || strlen('some')) // ok $foo == 1 OR echo 1; //wrong $foo == 1 OR print 1; //correct. print() always return true. ------------------------------------------------------------------------ [2004-06-10 14:04:44] vvkrougl at mail dot ru Description: ------------ This script isn't work at all! IE display this line:"Parse error: parse error in /s.php on line 3". If I change the 'break' staement to 'die("Something...")' then everything work fine! Reproduce code: --------------- <? do { $a = 1 or break; } while (0); ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28727&edit=1