else: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== else-konstruktionen == (PHP 4, PHP 5, PHP 7, PHP 8) Ofta vill man exekvera ett uttalande om ett visst villkor är uppfyllt och ett annat uttalande om villkoret inte är uppfyllt. Det är vad `else` är till för. `else` utökar ett `if`-uttalande för att exekvera ett uttalande i fall uttrycket i `if`-uttalandet utvärderas till falskt. Till exempel skulle följande kod visa "a är större än b" om $a är större än $b, och "a är INTE större än b" annars: <pre>...')
(Ingen skillnad)

Versionen från 18 augusti 2024 kl. 06.56

else-konstruktionen

(PHP 4, PHP 5, PHP 7, PHP 8)

Ofta vill man exekvera ett uttalande om ett visst villkor är uppfyllt och ett annat uttalande om villkoret inte är uppfyllt. Det är vad `else` är till för. `else` utökar ett `if`-uttalande för att exekvera ett uttalande i fall uttrycket i `if`-uttalandet utvärderas till falskt. Till exempel skulle följande kod visa "a är större än b" om $a är större än $b, och "a är INTE större än b" annars:

<?php
if ($a > $b) {
  echo "a är större än b";
} else {
  echo "a är INTE större än b";
}
?>

`else`-uttalandet exekveras endast om `if`-uttrycket utvärderades till falskt, och om det fanns några `elseif`-uttryck - endast om de också utvärderades till falskt (se `elseif`).

Not: Dangling else

I fall av nästlade `if`-`else`-uttalanden är en `else` alltid associerad med det närmaste `if`.

<?php
$a = false;
$b = true;
if ($a)
    if ($b)
        echo "b";
else
    echo "c";
?>

Trots indenteringen (som inte spelar någon roll för PHP) är `else` associerat med `if` ($b), så exemplet producerar ingen utdata. Även om det är giltigt att förlita sig på detta beteende, rekommenderas det att undvika det genom att använda klammerparenteser för att lösa potentiella tvetydigheter.


PHP
Språkreferens
Språkreferens#Kontrollstrukturer