elseif/else if
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