Logiska: Skillnad mellan sidversioner
Hoppa till navigering
Hoppa till sök
Admin (diskussion | bidrag) |
Admin (diskussion | bidrag) |
||
(En mellanliggande sidversion av samma användare visas inte) | |||
Rad 19: | 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 || Eller sant om antingen $a eller $b är sant. | | <code><nowiki>$a || $b</nowiki>|| Eller || Eller sant om antingen $a eller $b är sant. | ||
|} | |} | ||
Rad 70: | Rad 70: | ||
* bool(false) | * bool(false) | ||
* bool(true) | * bool(true) | ||
</ | </pre> | ||
[[PHP]]<BR> | |||
[[Språkreferens]]<BR> | |||
[[Kategori:Php]] |
Nuvarande version från 18 augusti 2024 kl. 06.04
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 | 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)