|
La structure IF en PHP
1. A quoi sert le IF ?
Le IF permet tout simplement de tester des valeurs afin savoir quelle action doit être faite. Par exemple, vous demander à l'utilisateur le résultat d'une opération entre 2 nombres. Si il donne le bon résultat, vous écrivez "Bravo" à l'écran, sinon, vous écrivez "Gros nul". Cela permet de tester d'autre type d'information tel que l'ouverture d'un fichier, la connexion à une base de données... On va donc maintenant étudier quelques exemples de fonctionnement du IF et les différentes syntaxes qui lui correspondent ! 2. IF (condition) {...}
La forme de base du IF est la suivante : <? if ([Condition]) { [Bloc_de_code] } ?>
<? ce qui a comme résultat :$v1 = 5; $v2 = 7; $v3 = 12; $v4 = $v1+$v2; if ($v3 == $v4) { echo "Le calcul est bon !<br>"; } ?> Le calcul est bon ! Ce bout de code est donc fait pour vérifier l'égalité entre $v3 et $v4. Il est vrai que ceci n'est pas forcément passionnant comme vision des choses, mais ce n'est qu'un exemple ! Maintenant, vous voulez afficher "Le calcul et bon !" si le calcul est bon, et "le calcul est faux !" si le calcul est ... faux. Pour cela, vous devez utiliser la suite de la structure du if, à savoir, le else ! 3. IF (condition) {...} ELSE {...}
La forme de base du IF est la suivante : <? La différence par rapport à avant est donc simple : ajout d'une partie de code avec le Else !if ([Condition]) { [Bloc_de_code_si_condition_vraie] } else { [Bloc_de_code_si_condition_fausse] } ?> L'utilité du else est on ne peut plus évidente : si la condition est vraie, alors le premier bloc de code est exécuté, si la condition est fausse, c'est le second bloc qui est exécuté ("else" signifie "sinon" en anglais !). Dans notre exemple, on veut ajouter le else pour si l'utilisateur se trompe, voila ce que ca donne : <? ce qui a comme résultat :$v1 = 5; $v2 = 7; $v3 = 12; $v4 = $v1+$v2; if ($v3 == $v4) { echo "Le calcul est bon !<br>"; } else { echo "Le calcul est faux !<br>"; } ?> Le calcul est bon ! Malgré tout l'intérêt d'un tel exemple, on préférerait que ce soit l'utilisateur qui saisissent le résultat pour comparer (genre test de calcul mental !). Voila un exemple avec un formulaire : 3. 1. Exemple de formulaire pour la demande de résultat :
<?
Ce qui donne comme résultat :
$val1 = 10; $val2 = 7; ?> <form action="structif.php" method="POST" name="calcul1"> <? echo "$val1+$val2 = " ?> <input name="resultat" size=5> <input type=hidden name="val1" value="<? echo $val1 ?>"> <input type=hidden name="val2" value="<? echo $val2 ?>"> <input type=submit value="Alors ?"> </form> 3. 2. Exemple de traitement PHP:
<? Ce qui donne comme résultat :$reponse = $val1+$val2; if ($resultat == $reponse) { echo "Le calcul est bon !<br>"; } else { echo "Le calcul est faux !<br>"; } ?> Vous pouvez changer la valeur dans la zone de saisie et voir les différents résultats ! 4. ...Elseif...
Dans le Else, on peut aussi ajouter un autre if ! Par exemple, après avoir testé l'égalité, on peut vouloir voir si le résultat est plus grand ou plus petit : <? Ce qui donne comme résultat :$reponse = $val1+$val2; if ($resultat == $reponse) { echo "Le calcul est bon !<br>"; } else { if ($resultat > $reponse) { echo "Le calcul est faux ! Le résultat est plus petit <br>"; } else{ echo "Le calcul est faux ! Le résultat est plus grand <br>"; } } ?> Le calcul est faux ! Le résultat est plus grand Dans ce cas, on peut également écrire : <? Ce qui donne comme résultat :$reponse = $val1+$val2; if ($resultat == $reponse) { echo "Le calcul est bon !<br>"; } elseif ($resultat > $reponse) { echo "Le calcul est faux ! Le résultat est plus petit <br>"; } else{ echo "Le calcul est faux ! Le résultat est plus grand <br>"; } ?> Le calcul est faux ! Le résultat est plus grand Le résultat sera le même, mais la relecture et l'écriture en est fortement simplifiée. 5. Autre syntaxe
5. 1. avec du code HTML
Il est possible de mettre du code HTML directement, et on obtient quelque chose qui, selon les cas, peut être plus ou moins lisible ! 5. 2. avec les ':'
On peut également écrire la structure ainsi : <? Ce qui donne comme résultat :if ($val1 == 7): echo "val1 est égal à 7"; else: echo "val1 est différent de 7 !"; endif; ?> val1 est différent de 7 ! 5. 3. avec le '?'
La syntaxe générale est : Pour notre exemple, on obtient donc le résultat suivant :<? echo (Condition)?[Bloc_de_code_si_condition_vraie]:[Bloc_de_code_si_condition_fausse]; ?> <? Ce qui donne comme résultat :echo ($val1 == 10)?"val1 est égal à 10":"val1 est différent de 10 !"; ?> val1 est égal à 10 Page modifiée le : 24/07/2003
Site modifié le : 03/07/2009 Flux RSS : cliquez-ici si vous voulez suivre les évolutions
Contacter le webmaster : si vous trouvez qu'il manque des infos, n'hésitez pas à me le dire ! |
» Commentaires
Si vous souhaitez ajouter un commentaire,
vous devez être identifié.