Les boucles et conditions

Catégorie Découverte du langage PHP < Programmation PHP : Accueil du site

Vous êtes ici : Les boucles et conditions

Publié par Mikiman

Les conditions vont nous permettre de trier et travailler plus amplement avec les données récupérées via un formulaire.
Vous les utiliserez très souvent et vous serons très utile pour commencer à développer vos applications web.

Les conditions permettent de filtrer vos données, de les classer facilement.

Il existe 4 principales méthodes de conditions :

  • If ... Else ... Elseif
  • While
  • For
  • Switch



Nous allons voir comment fonctionnent ses types de conditions.

If...Else....Elseif


A mon avis le type de condition le plus utilisé.
Voyons sa structure PHP :

Code source :

if(condition1){
    code à exécuter
}elseif(condition2){
    code à exécuter
}else{
    code à exécuter
}



Pour comprendre ce script un peu de traduction est nécessaire :
If = Si ...
Elseif = Sinon si ...
Else = Sinon ...

Traduisons notre structure vue plus haut :
Si condition1 alors code à exécuter sinon si condition2 alors code à exécuter sinon code à exécuter

Pour effectuer des conditions, vous pouvez utiliser les signes suivants :

  • == : est égale à ..
  • != : est différent de ..
  • > : plus grand que ..
  • < : plus petit que ..
  • >= : plus grand ou égale que ..
  • <= : plus petit ou égale que ..
  • or : ou
  • and : et
  • || : ou
  • && : et



Ces opérateurs peuvent être utilisés dans vos conditions, voici un exemple de son utilisation ainsi que des conditions if

Code source :


<?php
$valeur1 
5;
$valeur2 10;

if(
$valeur1 == $valeur2){
    echo 
'Valeur1 est égale à valeur2';
}elseif(
$valeur1 && $valeur2 0){
    echo 
'Les valeurs sont inférieurs à 0';
}else{
    echo 
'Aucune de ses conditions est remplie';
}
?>



Traduction :
Si $valeur1 est égale à $valeur2 alors on affiche le texte "Valeur1 est égale à valeur2" sinon si $valeur1 et $valeur2 sont plus petits que 0 alors on affiche le texte : "Les valeurs sont inférieurs à 0" sinon on affiche "Aucune de ses conditions est remplie".

Comme vous pouvez le constater l'utilisation des conditions de type If..Elseif..Else est très simple.

While


While est un autre type de condition PHP.
Les opérateurs à utiliser dans la condition sont les mêmes que pour If..Elseif..Else.
La boucle while se traduit par : chaque fois que la condition est juste ...

Voici la méthode à utiliser :

Code source :

while(condition){
    code à exécuter
}



Travaillons maintenant avec un exemple :

Code source :

<?php
$depart 
1;
$fin 5;

while(
$depart <= $fin){
    echo 
'Code exécuté<br />'#On affiche un texte (le <br /> permet en xHtml d'aller à la ligne)
    
$deèart++ #On incrémente de 1 la variable $depart
}
?>



On commence en créant deux variables $depart et $fin.
La boucle s'exécute à chaque fois que $depart est plus petit ou égale à $fin.
Si la condition est correcte, le code à l'intérieur de la boucle (entre les accolades) s'exécute.

For


La boucle for se traduit par : tant que la condition est remplie ...

Voici la méthode à utiliser :

Code source :

for(base; conditin; suivit){
    code à exécuter
}



Voyons se que donne cette boucle dans un script

Code source :

<?php
$fin 
5;

for(
$i 0$i <= $fin$i ++){
    echo 
$i.' est entre 0 et 5 ou égale à 5';
}
?>



On créer une variable $fin ayant pour valeur 5.
On lance une boucle qui à une variable prédéfinit $i qu'on met à 0, on lance la condition que tant que $i est plus petit ou égale à $fin on exécute le code. A chaque fois que la condition est remplie on incrémente la variable $i.
On met le code a exécuter entre les accolades.

Switch


Voici maintenant comment utiliser la méthode de boucle : switch. Cette méthode répond à la traduction : "Selon".
Voici comment marche cette boucle :

Code source :

switch(valeur){
    case 'valeur': code a executer; break;
}



Maintenant avec un exemple :

Code source :

<?php
$valeur 
'Web-Documentation';

switch(
$valeur){
    case 
'Web-Documentation': echo 'Site1'; break;
    case 
'Autre-site': echo 'Site2'; break;
}
?>


Selon si $valeur est égale à 'Web-Documentation' on exécute le code entre case et break;.
Si $valeur avait comme valeur 'Autre-site', PHP aurait affiché "Site2".

Cette méthode est assez lourde et peu utilisée.