Alternativ syntax för kontrollstrukturer

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Alternativ syntax för kontrollstrukturer

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

PHP erbjuder en alternativ syntax för några av sina kontrollstrukturer; nämligen `if`, `while`, `for`, `foreach` och `switch`. I varje fall innebär den alternativa syntaxen att byta ut öppningsklammern mot ett kolon (:) och stängningsklammern mot `endif;`, `endwhile;`, `endfor;`, `endforeach;` eller `endswitch;` respektive.

<?php if ($a == 5): ?>
A är lika med 5
<?php endif; ?>

I ovanstående exempel är HTML-blocket "A är lika med 5" inbäddat inom ett `if`-uttalande skrivet i alternativ syntax. HTML-blocket visas endast om $a är lika med 5.

Den alternativa syntaxen gäller också för `else` och `elseif`. Följande är en `if`-struktur med `elseif` och `else` i det alternativa formatet:

<?php
if ($a == 5):
    echo "a är lika med 5";
    echo "...";
elseif ($a == 6):
    echo "a är lika med 6";
    echo "!!!";
else:
    echo "a är varken 5 eller 6";
endif;
?>

Not

Det stöds inte att blanda syntaxer inom samma kontrollblock.

Varning

All utdata (inklusive blanksteg) mellan ett `switch`-uttalande och det första `case` kommer att resultera i ett syntaxfel. Till exempel är detta ogiltigt:

<?php switch ($foo): ?>
    <?php case 1: ?>
    ...
<?php endswitch; ?>

Medan detta är giltigt, eftersom den slutande radbrytningen efter `switch`-uttalandet anses vara en del av det avslutande `?>` och därmed inte något utskrivet mellan `switch` och `case`:

<?php switch ($foo): ?>
<?php case 1: ?>
    ...
<?php endswitch; ?>

Se även


Sidslut

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