FriconiX
Des milliers de pictogrammes gratuits dessinés avec amour !

Cours 3.7. Les tests en PHP, l'instruction if...else

Syntaxe

La syntaxe des structures conditionnelles est identique à celle du C :

<?php
if ($a > $b)
{
    echo "<p>a est plus grand que b</p>";
}
else
{
    echo "<p>a n'est pas plus grand que b</p>";
}
?>

Notons que l'utilisation des accolades n'est nécessaire que si le bloc d'instructions de la condition contient plusieurs instructions.

En pratique, lorsque le test sert à afficher du HTML, il existe une autre syntaxe, plus concise, qui permet d'éviter l'utilisation des fonctions d'affichage comme echo. L'avantage de cette deuxième solution et que, dans l'éditeur, la coloration syntaxique est appliquée au code HTML, ce qui n'est pas le cas avec l'exemple précédent :

<?php if ($a > $b): ?>
    <p>a est plus grand que b</p>
<?php else: ?>
    <p>a n'est pas plus grand que b</p>
<?php endif; ?>
}

Syntaxe courte

Il existe une syntaxe courte qui est appropriée lorsque le test et les blocs d'instructions sont très courts :

$var = (test) ? instruction si vrai : instruction si faux;

Cette syntaxe est particulièrement syntétique lorsqu'elle est combinée avec des balises PHP courtes :

<?= ($a>$b) ? '<p>a est plus grand que b</p>'  : '<p>a n\'est pas plus grand que b</p>' ?>

L'exemple interactif suivant montre les trois syntaxes :

Voir aussi


Dernière mise à jour : 05/11/2019