- 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

To top

switch/case

Les 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 !

 

To top

do/while

Permet 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

 

To top

while

Ne 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

 

To top

for

La 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

 

To top

Syntaxe alternative

Les 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

 

To top

Informations
6-03-2013
Le site www.laboratoire-ambio.fr vient d'être certifié HONcode.
5-12-2012
Dans le cadre de la procédure de Labellisation auprès des collectivités membres du Syndicat Mixte...
28-03-2012
Toute nouvelle section sur notre site pour vous présenter une nouvelle rubrique qui sera entièreme...
22-08-2009
Un cluster Single System Image (SSI) comme Kerrighed offre la vue d'une unique machine multi-process...
21-08-2009
Grâce aux efforts continus de la communauté open source, Heartbeat2 permet de mettre en place des ...
17-10-2008
Sortie le 13 Oct 2008 et compatible avec Office 2007 de Microsoft la nouvelle mouture de OpenOffice...
29-05-2008
... Et profitez d'un Web meilleur : Mozilla tente d'établir un record du nombre de logiciels télÃ...
29-08-2007
Plusieurs extensions permettent d'intégrer les éléments de cette API mise à disposition par Goog...
Services | Solutions | Formations | Portfolio | Accès Client
© 2004-2015 ACCEDO - Siret : 452 155 112 00033
105, Impasse La Corbière - 50400 GRANVILLE
Tél : 06 83 88 31 78