Les conditions en PHP
En PHP vous pouvez éxécuter une simple instruction ou bien un bloc d’instructions en fixant des conditions grâce à la syntaxe if
La syntaxe générale est :
if( <conditions?> ){ < instruction(s)? > }
Dans les parenthèses ( ) vous mettez une expression logique dont la réponse est un booléen (vrai ou faux). Si l’expression renvoie vrai, les instructions compris entre les accolades { } seront exécutées.
Si vous souhaitez aussi lancer une ou plusieurs instructions lorsque l’expression renvoie faux, utiliser la syntaxe else
if( <expression?> ){ < instructions si vrai? > }else{ < instructions si faux? > }
Pour créer une expression, dans les parenthèses, utilisez les opérateurs.
<?php
if(3>2){
echo "vrai";
}else{
echo "faux";
}
?>
Imbrication de conditions
Si vous souhaitez imbriquer une condition ou plusieurs conditions, utilisez la syntaxe elseif()
<?php
if($musique=="play"){
echo "la musique est en ecoute";
}elseif($musique=="pause"){
echo "la musique est en pause";
}else{
echo "la musique est en arret";
}
?>
Le script peut se traduire de la manière suivante : si la musique vaut ‘play’ elle est en écoute…sinon si la musique vaut pause, elle est en pause… sinon elle est en arrêt.
Utiliser la syntaxe ‘else if’
Vous pouvez utiliser le elseif en deux mots else if : son comportement sera similaire au précédent.
<?php
if($musique=="play"){
echo "la musique est en ecoute";
}else if($musique=="pause"){
echo "la musique est en pause";
}else{
echo "la musique est en arret";
}
?>
Utiliser la syntaxe ‘if(): endif’
Vous pouvez écrire le teste sans les accolades avec la syntaxe if():, elseif(): ou else: et terminer le teste avec endif .
<?php
if($musique=="play"):
echo "la musique est en ecoute";
elseif($musique=="pause"):
echo "la musique est en pause";
else:
echo "la musique est en arret";
endif;
?>
Ne pas utiliser la syntaxe else if (en deux mots) lorsque nous utilisez l’écriture : sinon PHP générera une erreur de compilation
<?php
if($musique=="play"):
echo "la musique est en ecoute";
else if($musique=="pause"): // ERREUR DE COMPILATION
echo "la musique est en pause";
else:
echo "la musique est en arret";
endif;
?>
La condition alternative SWITCH
Lorsqu’une variable ou une instruction peut prendre une valeur parmi une liste connue, alors il est préférable d’utiliser le mot clef switch plutôt que des « if/else ». Chaque condition alternative est spécifiée par le mot clé case
<?php
$personnel = "employe";
switch($personnel){
case 'directeur':
echo "bonjour monsieur le directeur";
break;
case "comptable":
echo "Je vous trouve très actif aujourd'hui";
break;
case "commercial":
echo 'Choix numéro trois';
break;
default :
echo 'personnel inconnu';
break;
}
?>
Le script peut se traduire de la manière suivante :
- si $personnel vaut directeur, on affiche bonjour monsieur le directeur
- si $personnel vaut comptable, on affiche Je vous trouve très actif aujourd’hui
- si $personnel vaut commercial, on affiche bon chiffre cette année
- si aucune valeur correspond : on affiche personnel inconnu
La commande break permet de quitter la boucle switch juste après l’affichage, cela évite le traitement des autres comparaisons qui suivent.