coincoins

Les alternatives en PHP

Prérequis : Pour suivre ce cours, vous devez avoir étudié les cours précédents sur le PHP. Nous verrons ici le if et le switch Bonne lecture, bon travail.

IF : l'alternative la plus utilisée
IF, SI en français, sert à faire un choix entre deux possibilités selon le résultat d'un test, d'une condition.

Le sens de if est très simple : SI (contition) ALORS traitement_si_condition_vraie SINON traitement_si_condition_fausse

Exemple :

<?php
	$age=17;
	if ($age>=18) echo "La condition est vraie : Vous êtes majeur(e)";
	else echo "La condition est fausse : Vous êtes mineur(e)";
?>

On voit :

  • les instructions if et else
  • la condition entre parenthèses
  • une seule instruction par ligne (1 pour if et une autre pour else), on utilisera des {} (accolades) pour mettre plusieurs instructions.

La grande difficulté est dans la condition

Les conditions

Les conditions sont des comparaisons simples, associées avec && (OR) ou || (AND) si elles s'y mettent à plusieurs.

Les comparaisons sont, comme en maths, deux opérandes liées par un signe de comparaison :

  • <, <=, <>, >=, > ou == (il y en a deux, oui, oui! sinon c'est une affectation de variable !!!)

Et on peut écrire :

si le montant est entre 100 et 1000 euros exclus :

if ($montant >100 && $montant<=1000) {...}

si statut livré est VRAI ou la quantité livrée est supérieure ou égale à la quantité totale :

if ($statLivr ==true && $qteLiv>=$qteTotale) {...}

si le temps est beau et la température est supérieure à 25°C :

if ($temps =="beau" && $temperature>25) {...}

Imbriquer les alternatives
Parfois, on a besoin de faire des choix à l'intérieur d'un choix. C'est permis : on utilise des conditions imbriquées.

Exemple :

Soit l'algorithme suivant :
Si le temps est pluie Alors je prend le parapluie.
Sinon,
Si le temps est beau et la température est supérieure à 25°C, Alors je met un t-shirt,
Sinon, je met un pull
.

Pas de problème, on écrira :

<?php
	$temps=beau;
	if ($temps=='pluie')
		echo "Je prend le parapluie";
	else
		if ($temps =="beau" && $temperature>25)
			echo "je mets un t-shirt";
		else
			echo "je mets un pull";
		// fin du si imbriqué
	// fin du si initial
?>

ou :

<?php
	$temps=beau;
	if ($temps=='pluie')
		echo "Je prend le parapluie";
	elseif ($temps =="beau" && $temperature>25)
		echo "je mets un t-shirt";
	else
		echo "je mets un pull";
?>

Hé, hé : else if peut s'écrire en un seul mot : elseif.

Alternative à choix multiple
Ce type d'alternative est assez spécifique et est utilisé pour faire un choix avec une seule variable qui peut prendre de multiples valeurs.

Reprenons l'exemple précédent :
Si (le temps est pluie) Alors je prends un parapluie,
Sinon-si (le temps est beau) Alors je met un t-shirt
Sinon-si (le temps est brume) Alors je mets un pull,
Sinon je mets une veste et une cravate
.

Ca fait beaucoup de si-sinon-si, avec toujours la même variable et des valeurs différentes.

Dans ce cas, on utilisera une alternative comme ceci :

selon que le temps est :
pluie : je prends un parapluie ;
beau : je mets un t-shirt ;
brume : je mets un pull ;
autrement : je mets une veste et noue une cravate
.

Le code correspondant :

<?php
	$temps=brouillard;
	switch ($temps) {
		case ('pluie'): echo "je prend un parapluie";break;
		case ('beau'): echo "je mets un t-shirt";break;
		case ('brume'): echo "je mets un pull";break;
	default: echo "je mets une cravate et une veste";break;
}
?>

Pas mal, non ?

Remarquer les break à la fin de chaque cas. Sans ces break, le programme passe au code de l'option suivante sans s'arrêter. hum...

 

Voilà, on a vu l'essentiel de la théorie des alternatives. A vous de mettre tout ça en pratique et de revenir plus tard pour le chapitre suivant.