Logiska
Logiska operatorer
Logiska operatorer används för att utföra logiska operationer, vanligtvis mellan två boolean-värden (sant eller falskt). Resultatet av dessa operationer är också ett boolean-värde.
Logiska Operatorer
Logiska operatorer används för att kombinera eller jämföra booleska uttryck (sant eller falskt). Resultatet av dessa operationer är också ett booleskt värde.
Exempel | Namn | Resultat |
---|---|---|
$a and $b |
Och | sant om både $a och $b är sanna. |
$a or $b |
Eller | sant om antingen $a eller $b är sant. |
$a xor $b |
Antingen eller | sant om antingen $a eller $b är sant, men inte båda. |
!$a |
Inte | sant om $a inte är sant. |
$a && $b |
Och | sant om både $a och $b är sanna. |
$a |
$b | Eller sant om antingen $a eller $b är sant. |
Anledningen till de två olika variationerna av "och" och "eller" operatorer är att de har olika precedens. (Se Operator Precedence.)
Exempel #1 Illustration av logiska operatorer
<?php // -------------------- // foo() kommer aldrig att kallas eftersom dessa operatorer är kortslutande $a = (false && foo()); $b = (true || foo()); $c = (false and foo()); $d = (true or foo()); // -------------------- // "||" har högre precedens än "or" // Resultatet av uttrycket (false || true) tilldelas till $e // Fungerar som: ($e = (false || true)) $e = false || true; // Konstanten false tilldelas till $f innan "or"-operationen inträffar // Fungerar som: (($f = false) or true) $f = false or true; var_dump($e, $f); // -------------------- // "&&" har högre precedens än "and" // Resultatet av uttrycket (true && false) tilldelas till $g // Fungerar som: ($g = (true && false)) $g = true && false; // Konstanten true tilldelas till $h innan "and"-operationen inträffar // Fungerar som: (($h = true) and false) $h = true and false; var_dump($g, $h); ?>
Ovanstående exempel kommer att producera något liknande:
* bool(true) * bool(false) * bool(false) * bool(true) </pred>