Logiska: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
 
(2 mellanliggande sidversioner av samma användare visas inte)
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> || 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 69: Rad 70:
* bool(false)
* bool(false)
* bool(true)
* bool(true)
</pred>
</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.

Logiska Operatorer
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)

PHP
Språkreferens