- Plan du Site | Contact |
if/elseif
<?php $a = 8; $b = 9; echo "révision sur la pré/post incrémentation :\n"; if (++$a == $b) { // si (expression) renvoie TRUE echo "++\$a est égal à $b"; // instruction } elseif ($a++ == $b) { // autre si (expression) renvoie TRUE echo "\$a++ est égal à $b"; // instruction } else { // sinon echo "rien de tout ça !"; // instruction } ?>
retourne : révision sur la pré/post incrémentation : ++$a est égal à 9
Afin d'améliorer la lisibilité du code, et/ou sa maintenance, il est possible de le découper en blocs d'instructions :
<?php $a = 8; $b = 9; ?> révision sur la pré/post incrémentation : <?php if (++$a == $b) { ?> ++$a est égal à 9 <?php } elseif ($a++ == $b) { ?> $a++ est égal à 9 <?php } else { ?> rien de tout ça ! <?php } ?>
retourne : révision sur la pré/post incrémentation : ++$a est égal à 9 switch/caseLes instructions switch et case remplacent avantageusement if/elseif lorsque les conditions sont plus nombreuses :
<?php switch ($a+1) { // si ($a+1) est égal à case ($a++): // $a++ print "(\$a+1) est égal à ($a++)"; // instruction break; // sortir case (++$a): // ++$a print "(\$a+1) est égal à (++$a)"; // instruction break; // sortir case ($a+1): // $a+1 print "(\$a+1) est égal à ($a+1)"; // instruction continue; // continuer default; // rien de tout ça print "rien de tout ça !"; // instruction } ?>
retourne : rien de tout ça !
do/whilePermet d'exécuter l'instruction au moins une fois :
<?php $i = 0; do { // faire print $i; // instruction } while ($i > 0); // tant que (condition) ?>
retourne : 0
whileNe garantit pas que l'instruction s'exécute :
<?php $i = 0; while ($i > 0) { // tant que (condition) print $i; // instruction } ?>
retourne : (rien)
Obtenons une sortie :
<?php $i = 0; while ($i < 10) { print ($i++ . " "); } ?>
retourne : 0 1 2 3 4 5 6 7 8 9
forLa boucle for remplit les mêmes fonctions que la boucle while, mais son utilisation est plus concise :
Forme la plus concise :
<?php for ($i = 0; $i < 10; print "$i ", $i++); ?>
retourne : 0 1 2 3 4 5 6 7 8 9
En plus lisible :
<?php for ($i = 0; $i < 10; $i++){ print "$i "; } ?>
retourne : 0 1 2 3 4 5 6 7 8 9
Avec l'instruction break; :
<?php for ($i = 0;;$i++) { if ($i == 10) { break; } print "$i "; } ?>
retourne : 0 1 2 3 4 5 6 7 8 9
Ou encore :
<?php $i = 0; for (;;) { if ($i == 10) { break; } print "$i "; $i++; } ?>
retourne : 0 1 2 3 4 5 6 7 8 9
Syntaxe alternativeLes structures concernées sont : if/elseif, switch, while, for et foreach.
Il s'agit de remplacer les accolades d'ouverture '{' par le signe ':', et l'accolade finale de fermeture '}' par, respectivement : 'endif;', 'endswitch;', 'endwhile;', 'endfor;' et 'endforeach;'.
Si l'on reprend l'exemple donné pour if/elseif, cela donne :
<?php $a = 8; $b = 9; echo "révision sur la pré/post incrémentation :\n"; if (++$a == $b) : echo "++\$a est égal à $b"; elseif ($a++ == $b) : echo "\$a++ est égal à $b"; else : echo "rien de tout ça !"; endif; ?>
retourne : révision sur la pré/post incrémentation : ++$a est égal à 9
Découpons à présent notre code :
<?php $a = 8; $b = 9; ?> révision sur la pré/post incrémentation : <?php if (++$a == $b) : ?> ++$a est égal à 9 <?php elseif ($a++ == $b) : ?> $a++ est égal à 9 <?php else : ?> rien de tout ça ! <?php endif; ?>
le résultat est identique : révision sur la pré/post incrémentation : ++$a est égal à 9
|
|
||||
Services | Solutions | Formations | Portfolio | Accès Client |