# IT. Expert System.

## 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"// The result of the expression (false || true) is assigned to \$e// Acts like: (\$e = (false || true))\$e = false || true;// The constant false is assigned to \$f and then true is ignored// Acts like: ((\$f = false) or true)\$f = false or true;var_dump(\$e, \$f);// --------------------// "&&" has a greater precedence than "and"// The result of the expression (true && false) is assigned to \$g// Acts like: (\$g = (true && false))\$g = true && false;// The constant true is assigned to \$h and then false is ignored// Acts like: ((\$h = true) and false)\$h = true and false;var_dump(\$g, \$h);?> `

The above example will output something similar to:

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

Content

### IT dictionary

License.
All information of this service is derived from the free sources and is provided solely in the form of quotations. This service provides information and interfaces solely for the familiarization (not ownership) and under the "as is" condition.
Copyright 2016 © ELTASK.COM. All rights reserved.
Site is optimized for mobile devices.
Downloads: 13108 / 159219966. Delta: 0.00397 с