Vous êtes ici :
Accueil Cours Développement web Création d'un site web en PHP et MySQL Les structures de contrôle

Création d'un site web en PHP et MySQL : Les structures de contrôle

if

Synthaxe :


if(expression) 

{ bloc de commandes }
else

{ bloc de commandes }


Il y a aussi le « elseif »,  combinaison du if et du else. Le elseif en un mot peut aussi s'écrire en deux mots  :  le  résultat  est  le  même.   On  peut  écrire des  elseif en  chaîne.  Le premier  dont  l'expression  est vrai est exécuté.

If(expression)

{ bloc de commandes }
elsif(expression)

 { bloc de commandes }

elsif(expression)

commande ou { bloc de commandes }
...

 

On peut placer du HTML comme commande ou dans le bloc de commande :

 

<?php 
if ($a == 5) { 
?>
A = 5
<?php
 }
 ?>

 

On peut aussi utiliser une syntaxe alternative : on ouvre le bloc (juste après le if, le else ou le elseif) avec les « : » deux points,et on ferme l'instruction avec « endif ».

 

<?php
if ($a == 5):
print "a = 5";
print "...";
elseif ($a == 6):
print "a = 6";
print "!!!";
else:
print "a ne vaut ni 5 ni 6";
endif;
?>

 

while

 

  • while classique

 

C'est   la   boucle   « tant   que »  simple   :   tant   que   la   condition   n'est   pas   vraie,   on   continue   la   boucle. L'expression   est   placée   en   début   de boucle   :   si   l'expression   est   fausse   avant   de   rentrer   dans   la boucle, la boucle n'est pas exécutée.

Synthaxe :

while(expression)

{ bloc de commandes }
On peut aussi utiliser la syntaxe alternative:

while(expression): 

{ bloc de commandes }
endwhile

 

  • do ... while

 

C'est   la   seconde   possibilité.   Dans   ce   cas   la   commande   ou   le   bloc   de   commande   est   exécutée   au moins une fois, car l'expression conditionnelle est testée en fin de boucle.

Synthaxe :


do

{ bloc de commandes }

while(expression);

NB: il ne faut pas oublier le point-virgule (;) à la fin de while.

 

for


Le  « for »  du PHP est identique au « for » du C.
 

for(expr1;expr2;expr3)

{ bloc de commandes }


« expr1 »    est   exécutée  à  la   première  entrée  dans   la  boucle.   « expr2 »  est   exécutée   à   chaque   début d'itération   jusqu'à   ce   que   l'expression   soit   fausse   auquel   cas   on   sort   de   la   boucle.   « expr3 »   est exécutée à la fin de l'itération.
L'usage habituel d'une telle boucle est de placer l'état initial en expr1, la condition de sortie en expr2 et le calcul en expr3. Mais on peu effectuer toutes sortes de choses.

<?php

// de 1 à 10
for ($i = 1; $i <= 10; print $i, $i++) 
// infini
for(;;) 
// de 1 à 10
for ($i = 1; $i <= 10; print $i, $i++) ;

?>

 

On peut employer une syntaxe alternative avec le « : » et « endfor ».
 

for(expr1;expr2;expr3): 

{ bloc de commandes }
endfor

 

foreach


La boucle « foreach » est  peut-être  l'une  des  plus  intéressantes pour  la manipulation de  tableaux  ou de résultats de requêtes SQL. Elle permet de lister les tableaux. Elle dispose de deux syntaxes.


foreach(array_expression as $value)

commandes


foreach(array_expression as $key => $value)

commandes
 

La   première   syntaxe   récupère   les   éléments   du   tableau   un   par   un,   séquentiellement.   La   valeur   de l'élément courant du tableau est placée dans la variable $value.
La   seconde   syntaxe   est   presque   identique,   sauf   qu'en   plus   la   clé   (l'index)   de   l'élément   actuel   est placée dans la variable $key.
Attention   :   modifier   la   valeur   de   $value   (ou   de   $key)   ne   modifie   pas   le   tableau   car   cette   boucle travaille   sur   une  copie,   pas   une   référence.   Par   contre   dans   le  second   cas,   comme   on   dispose   de   la clé, rien n'empêche d'assigner quoi que ce soit à l'élément courant.
Remarque   :   un   appel   à   foreach   « rembobine »  automatiquement   le   tableau   à   son   premier   élément. Mais pas dans les autres boucles, il faut alors utiliser «  reset ».

 

<?php

reset($arr);
while (list(, $value) = each ($arr)) {
echo "Valeur: $value<br>\n";
}

foreach ($arr as $value) {
echo "Valeur: $value<br>\n";
}
$a = array (
"un" => 1,
"deux" => 2,
"trois" => 3,
"dix-sept" => 17
);
foreach($a as $k => $v) {
print "\$a[$k] => $v.\n";
}

?>

 

break et continue


L'instruction   « break » permet   de   sortir   d'un  for,   while,   foreach  ou  switch.  On  peut  lui   indiquer   de combien de structures on souhaite sortir si elles sont emboîtées.
L'instruction   « continue »  permet   de   passer   à   l'itération   suivante.   Attention   PHP  conside   le   switch comme   une   boucle,   et   dans   ce   cas,   réévalue   le   switch.   On   peut   indiquer   à   continue   combien   de structures emboîtées relancer.

 

switch

 

<?php

switch ($i) {
case 0:
print "i egale 0";
break;
case 1:
print "i egale 1";
break;
case 2:
print "i egale 2";
break;
default:
print "i est inférieur à 0 ou supérieur à 2 ";
}
?>

 


Le   switch   s'arrête   à   la   première   expression   case   vraie   puis   exécute   le   code   suivant   dans   l'ordre indiqué,   jusqu'à  la  première  instruction  break.  S'il   n'y  a  pas  de  break,  tout  le  code  jusqu'à  la  fin  du switch est exécuté. Dans l'exemple suivant, si $i vaut 0, tous les print seront affichés

 

<?php

switch ($i) {
case 0:
print "i egale 0";
case 1:
print "i egale 1";
case 2:
print "i egale 2";
}
?>

 

 

Notez aussi que le default doit intervenir en dernier, sinon il n'a aucun intérêt. Enfin on peut employer une syntaxe alternative avec « : » et « endswitch ».

 

<?php

switch ($i):
case 0:
print "i egale 0";
break;
case 1:
print "i egale 1";
break;
endswitch

?>

 

return


Contrairement  à  d'autres  langages,   « return »  n'est   pas  une  fonction  mais  une  instruction.  Dans  une fonction, return sert à sortir de celle-ci et à retourner une valeur. Dans un script, elle sort de celui-ci. Attention cependant dans  les scripts  inclus  (voir  require et  include)  :   le  return dans ce  type de code considère   qu'il   sort   de   la   fonction   « require »  ou  « include »  et   donc   ne  sort   pas   du  script   ou  de   la fonction dans lesquels ce code a été inclus !
Comme   return   est   un   élément   du   langage   et   pas   une   fonction   il   n' y  a  pas besoin d'utiliser   les parenthèses.

 

require et include (_once)


« require »  et   « include »  incluent   à   l'endroit   actuel   et   exécutent   le   fichier   PHP.   Ils  sont   identiques dans   leur   fonctionnement   à   une   exception   :   le   traitement   des   erreurs.   Un   include   produit   un « warning »  (le   code   continue   en   principe   à   s'exécuter)   tandis   qu'un   require   produit   une      « erreur fatale » (l'exécution s'arrête).
Comme   require   et   include   sont   des   éléments   du   langage   et   pas   des   fonctions   il   n'y   a   pas   besoin d'utiliser les parenthèses. « require_once »   et   « include_once »   ressemblent   à   leurs   homologues   avec   cependant   une différence.   Quoi   qu'il   arrive,   le   fichier   est   inclus   une   seule   fois.   Si   un   second   « require_once » apparaît avec le même fichier, l'instruction ne sera pas exécutée.

 

 




Vous êtes ici :
Accueil Cours Développement web Création d'un site web en PHP et MySQL Les structures de contrôle