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