Mike wrote:
You're assigning values in your test.

Use == instead of = in the if condition.


hmm, but he should not get what he gets anyways:

$a = 1 - evaluates to true, continue
$b = 0 - evaluates to false, so the whole if() condition is false, jump to else and print:


false
1
0

He gets:
true
false
0

I get (php-5.0.2):
false
false
0

Or am I missing something?

=M

-----Original Message-----
From: Hodicska Gergely [mailto:[EMAIL PROTECTED] Sent: Saturday, October 30, 2004 9:50 AM
To: [EMAIL PROTECTED]
Subject: [PHP] php compiler


Hi!

$a = 0;
$b = 1;
if ($a = 1 && $b = 0) {
        echo 'true ';
        var_dump($a);
        var_dump($b);
} else {
        echo 'false ';
        var_dump($a);
        var_dump($b);
}

Runing this we get: "true bool(false) int(0)"

After the precedence table the first step could be evaluating the &&, but not this is what happen.

Can someone exactly explain how PHP process the condition?

THX in advance,
Felho


-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to