elseif/else if

Från Wiki.linux.se
Version från den 24 augusti 2024 kl. 12.14 av Admin (diskussion | bidrag) (→‎Sidslut)
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

elseif/else if

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

`elseif`, som namnet antyder, är en kombination av `if` och `else`. Liksom `else`, utökar den ett `if`-uttalande för att exekvera ett annat uttalande i fall det ursprungliga `if`-uttrycket utvärderas till falskt. Dock, till skillnad från `else`, kommer den att exekvera det alternativa uttrycket endast om `elseif`-villkorsuttrycket utvärderas till sant. Till exempel skulle följande kod visa "a är större än b", "a är lika med b" eller "a är mindre än b":

<?php
if ($a > $b) {
    echo "a är större än b";
} elseif ($a == $b) {
    echo "a är lika med b";
} else {
    echo "a är mindre än b";
}
?>

Det kan finnas flera `elseif` inom samma `if`-uttalande. Det första `elseif`-uttrycket (om något) som utvärderas till sant kommer att exekveras. I PHP är det möjligt att skriva `else if` (i två ord) och beteendet skulle vara identiskt med det för `elseif` (i ett ord). Den syntaktiska betydelsen är något annorlunda (samma beteende som i C) men i slutändan skulle båda resultera i exakt samma beteende.

`elseif`-uttalandet exekveras endast om det föregående `if`-uttrycket och eventuella föregående `elseif`-uttryck utvärderades till falskt, och det aktuella `elseif`-uttrycket utvärderades till sant.

Not

Observera att `elseif` och `else if` endast kommer att betraktas som exakt samma när man använder klammerparenteser som i exemplet ovan. När man använder kolon för att definiera `if`/`elseif`-villkor, blir användningen av `elseif` i ett ord nödvändig. PHP kommer att misslyckas med ett syntaxfel om `else if` delas upp i två ord.

/* Felaktig metod: */
if ($a > $b):
    echo $a." är större än ".$b;
else if ($a == $b): // Kommer inte att kompileras.
    echo "Ovanstående rad orsakar ett syntaxfel.";
endif;

/* Korrekt metod: */
if ($a > $b):
    echo $a." är större än ".$b;
elseif ($a == $b): // Observera kombinationen av orden.
    echo $a." är lika med ".$b;
else:
    echo $a." är varken större än eller lika med ".$b;
endif;

Sidslut


Orginalhemsidan på Engelska : https://www.php.net/manual/en/control-structures.elseif.php
PHP
Språkreferens
Språkreferens#Kontrollstrukturer


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.