BlaBla.cn

Logical Operators


Logical Operators

Logical Operators
Example Name Result
$a and $b And TRUE if both $a and $b are TRUE .
$a or $b Or TRUE if either $a or $b is TRUE .
$a xor $b Xor TRUE if either $a or $b is TRUE , but not both.
! $a Not TRUE if $a is not TRUE .
$a && $b And TRUE if both $a and $b are TRUE .
$a || $b Or TRUE if either $a or $b is TRUE .

The reason for the two different variations of "and" and "or" operators is that they operate at different precedences. (See Operator Precedence.)

Example #1 Logical operators illustrated

<?php

// foo() will never get called as those operators are short-circuit
$a  = ( false  &&  foo ());
$b  = ( true   ||  foo ());
$c  = ( false  and  foo ());
$d  = ( true   or   foo ());

// "||" has a greater precedence than "or"
$e  false  ||  true // $e will be assigned to (false || true) which is true
$f  false  or  true // $f will be assigned to false
var_dump ( $e $f );

// "&&" has a greater precedence than "and"
$g  true  &&  false // $g will be assigned to (true && false) which is false
$h  true  and  false // $h will be assigned to true
var_dump ( $g $h );
?>

The above example will output something similar to:

bool(true)
bool(false)
bool(false)
bool(true)

    

 
BlaBla.cn

© 2005-2008 BlaBla.cn 版权所有