|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-07-01 23:07 UTC] johannes@php.net
[2008-07-01 23:08 UTC] johannes@php.net
[2008-07-02 17:12 UTC] ensnnet at gmail dot com
[2008-07-02 19:03 UTC] johannes@php.net
[2008-07-02 21:32 UTC] colder@php.net
[2008-07-11 17:55 UTC] ensnnet at gmail dot com
[2008-07-11 17:59 UTC] ensnnet at gmail dot com
[2008-07-14 11:22 UTC] mgf@php.net
[2008-07-14 14:41 UTC] ensnnet at gmail dot com
|
|||||||||||||||||||||||||||
Copyright © 2001-2026 The PHP GroupAll rights reserved. |
Last updated: Mon Feb 09 20:00:01 2026 UTC |
Description: ------------ A simple logical expression is bad evaluated. Next code show that. Reproduce code: --------------- <?php $emma = "A"; $lobera = 0; echo "[ The right answer is: Flag is off ]<br><br>"; // This run bad: $flag = $emma=="A" and $lobera!=0; evaluate($flag); // This run well (why?): $flag = ($emma=="A" and $lobera!=0); evaluate($flag); // This run well too: $flag = $lobera!=0 and $emma=="A"; evaluate($flag); // ============================================================ function evaluate($flag) { if($flag) echo "Flag is on<br>"; else echo "Flag is off<br>"; } ?> Expected result: ---------------- [ The right answer is: Flag is off ] Flag is off Flag is off Flag is off Actual result: -------------- [ The right answer is: Flag is off ] Flag is on <--- This is bad Flag is off Flag is off