ID: 16223 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Bogus Bug Type: *Regular Expressions Operating System: SUN PHP Version: 4.1.2 New Comment:
What is $name supposed to be? Your examples (!= or ==) are applying a completely different logic. $name = "foo"; If $name is not "test1" => TRUE This Condition breaks at this point. The second condition is never executed. Consider the following Script: ------------------------------------------- <?php function first() { echo "first<br>\n"; return true; } function second() { echo "second<br>\n"; return true; } if(first() || second()) echo "YES<br>\n"; else echo "NO<br>\n"; ?> ------------------------------------------- The output is NOT "first, second, YES" as you might think. It is "first, YES". The || operator checks whether either the left condition or the right condition returns true. If the left condition is true, the right condition is not anymore checked. Daniel Lorch Previous Comments: ------------------------------------------------------------------------ [2002-03-22 13:26:06] [EMAIL PROTECTED] >>If the fruit is not blue or the fruit is not red, do something. The problem is when the fruit is blue, it still return true, but it has to return false ------------------------------------------------------------------------ [2002-03-22 13:20:45] [EMAIL PROTECTED] Logic 101 If the fruit is not blue or the fruit is not red, do something. Since the fruit can only be one colour, that logic will always return true. ------------------------------------------------------------------------ [2002-03-22 13:11:33] [EMAIL PROTECTED] if ( ( $name != "test1" ) || ( $name != "test2" ) ) does not work properly. if I Do each condition seperately, it works but If I join them using || then this never works however this works fine if ( ( $name == "test1" ) || ( $name == "test2" ) ) it seems like the problem occurs only with "!=" condition ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=16223&edit=1