Logiska: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) |
||
Rad 6: | Rad 6: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Logiska Operatorer | |||
! Exempel !! Namn !! Resultat | ! Exempel !! Namn !! Resultat | ||
|- | |- | ||
Rad 18: | Rad 19: | ||
| <code>$a && $b</code> || Och || sant om både $a och $b är sanna. | | <code>$a && $b</code> || Och || sant om både $a och $b är sanna. | ||
|- | |- | ||
| <code>$a || $b | | <code>$a || $b || Eller sant om antingen $a eller $b är sant. | ||
|} | |} | ||
Versionen från 18 augusti 2024 kl. 06.03
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>