Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox

Les conditions en php : deuxième partie

Par maxkauf68 (Kaufmann), le 09 janvier 2011
Prérequis

Pour pouvoir suivre ce tutoriel, je vous conseille d'abord de lire la première partie du tutoriel qui se trouve ici http://ressources.mediabox.fr/tutoriaux/php/language/bases/conditions

Bonne rédaction !

Le cas des booléens

Regardez le dernier exemple que l'on a vu dans la première partie de ce chapitre. Il serait plus approprié d'utiliser des booléens. Un booléen est une variable qui vaut soit “TRUE”, soit “FALSE”. Ils sont très utiles dans les conditions.

<?php
if ($autorisation_entrer == TRUE)
{
    echo "Bienvenue à vous :o)";
}
elseif ($autorisation_entrer == FALSE)
{
    echo "Vous n'êtes pas autorisé à entrer !";
}
?>

Nous allons voir dans le prochain exemple que l'avantage des booléens dans une condition est de ne pas avoir besoin de mettre le double égal (==). PHP comprendra très bien, dans ce cas-là, ce que vous avez voulu dire.

<?php
if ($autorisation_entrer)
{
    echo "Bienvenue à vous :o)";
}
else
{
    echo "Vous n'êtes pas autorisé à entrer !";
}
?>

PHP comprend qu'il doit vérifier si votre variable vaut “TRUE”. Cela représente deux avantages principaux : cela est plus rapide à écrire, mais c'est aussi beaucoup plus lisible. Maintenant si l'on veut vérifier que la valeur vaut “FALSE”, alors il suffit juste de rajouter un point d'exclamation, comme je vous le montre dans l'exemple suivant :

<?php
if (! $autorisation_entrer)
{

}
?>

Des conditions multiples Maintenant nous allons tenter d'aller encore plus loin dans les conditions. Nous allons voir comment utiliser les conditions multiples.

Dans cet exemple, nous allons essayer de mettre plusieurs conditions à la fois. Pour cela, nous allons utiliser de nouveaux mots clé. Voici ceux que vous devez absolument connaître :

Vous trouvez dans la première colonne, le mot clé en anglais et dans la dernière son équivalent. Je vous conseille d'utiliser le mot clé, car ce dernier est plus lisible.

Voici un premier exemple :

<?php
if ($age <= 12 AND $sexe == "garçon")
{
    echo "Bienvenue sur le site de Captain Mégakill !";
}
elseif ($age <= 12 AND $sexe == "fille")
{
    echo "C'est pas un site pour les filles ici, retourne jouer à la Barbie !";
}
?>

Rien de plus compliqué que les conditions simples que nous avions vu auparavant.

  1. Dans la première condition, on demande si la variable $age est inférieure ou égale à 12 ans.
  2. Dans la seconde, on demande si la variable est bien un garçon.

Si les deux conditions sont réunies alors on affiche l'instruction. Ensuite, on demande si la variable est inférieure ou égale à 12 ans et si c'est une fille : dans ce cas-là on affiche l'autre instruction.

Maintenant nous allons voir un dernier exemple pour introduire le mot clé “OR”. Voici l'exemple :

<?php
if ($sexe == "fille" OR $sexe == "garçon")
{
    echo "Salut Terrien !";
}
else
{
    echo "Euh, si t'es ni une fille ni un garçon, t'es quoi alors ?";
}
?>

Vous avez compris que dans cet exemple on vérifie si la variable est un garçon ou une fille. Si c'est le cas on affiche la première instruction, dans le cas contraire on affiche la seconde.

Une alternative pratique : Switch

Les structures avec “elseif…else” peuvent s'employer avec n'importe quel type de structures. Cependant dans certains cas il serait bien de pouvoir alléger un peu ce code. Voici une condition qui va nous permettre d'alléger notre code.

<?php
if ($note == 0)
{
    echo "Tu es vraiment un gros Zéro !!!";
}

elseif ($note == 5)
{
    echo "Tu es très mauvais";
}

elseif ($note == 7)
{
    echo "Tu es mauvais";
}

elseif ($note == 10)
{
    echo "Tu as pile poil la moyenne, c'est un peu juste...";
}

elseif ($note == 12)
{
    echo "Tu es assez bon";
}

elseif ($note == 16)
{
    echo "Tu te débrouilles très bien !";
}

elseif ($note == 20)
{
    echo "Excellent travail, c'est parfait !";
}

else
{
    echo "Désolé, je n'ai pas de message à afficher pour cette note";
}
?>

Vous avez remarqué que dans ce cas-là le code est assez lourd et est forcement très long à écrire. C'est pour ce la que l'on va préférer utiliser la fonction “switch”.

<?php
$note = 10;

switch ($note) // on indique sur quelle variable on travaille
{
case 0: // dans le cas où $note vaut 0
echo "Tu es vraiment un gros Zér0 !!!";
break;

case 5: // dans le cas où $note vaut 5
echo "Tu es très mauvais";
break;

case 7: // dans le cas où $note vaut 7
echo "Tu es mauvais";
break;

case 10: // etc etc
echo "Tu as pile poil la moyenne, c'est un peu juste...";
break;

case 12:
echo "Tu es assez bon";
break;

case 16:
echo "Tu te débrouilles très bien !";
break;

case 20:
echo "Excellent travail, c'est parfait !";
break;

default:
echo "Désolé, je n'ai pas de message à afficher pour cette note";

}
?>

Nous avons de nouveau un mot que l'on ne connaît pas. Etudions-le ! - “Case”, qui dans notre condition “switch”, se traduit par “cas”. On indique tout d'abord à PHP sur quelle variable nous allons travailler, puis on utilise les case qui vont nous permettre d'analyser différents cas. L'avantage de cette condition est que nous avons plus besoin de mettre le double égal, mais elle représente malgré tout un inconvénient : elle ne peut tester que l'égalité. Le mot clé default que vous retrouvez en bas, correspond en fait au “else”, il va nous permettre d'afficher un message dans le cas où aucune case ne correspondent. Il y a un autre mot important à connaître. Il s'agit du mot “break”. Nous l'avons mis à la fin de chaque “switch”. Mais pourquoi ? Tout simplement parce qu'il permet de dire à PHP que dès qu'une case est valide il doit s'arrêter, sinon il lirait tout le code, ce qui n'est pas nécessaire.

Ici le texte du Chapitre 2

Paragraphe 1

Ici le texte du paragraphe 1 du chapitre 2

Paragraphe 2

Ici le texte du paragraphe 2 du chapitre 2

Conclusion

Ici une conclusion.

Les sources

Vous pouvez proposer au téléchargement tout document qui serait bienvenue pour le lecteur, par exemple le fichier .psd photoshop, le .fla pour flash, etc

Mais vous pouvez aussi proposer ces téléchargements tout au long du tutoriel, et pas seulement à la fin.

En savoir plus

Ici des liens intéressants en rapport avec cet article, des documentations, d'autres tutoriels, etc