Vous êtes sur la page 1sur 20

SUPPORT DE COURS LANGAGE

EVOLUE – PHP
2ème Année BTS Informatique Développeur d’Application

Note : Ce support est un supplément pour le cours de PHP au programme de 2ème année du BTS option
Informatique Développeur d’Application. Il ne peut par conséquent se substituer au cours donné par
l’enseignant en classe.

SYSG TRAINING
Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

VUE D’ENSEMBLE DE LA PROGRESSION ANNUELLE


Durée
Contenu détaillé Séance Observation
estimée

Introduction à PHP
S1 2H
Chap I : Un environnement de travail : WAMP

Chap II : Les bases de PHP S1, S2 4H

Chap III : Les fonctions S3 3H

Chap IV : Les structures conditionnelles S4 1H30

Chap V : Les boucles S4 1H30

Chap VI : Les inclusions de fichiers S5 1H

S5 2H
Chap VII : Les formulaires
S6 3H

Chap VIII : Les bases de données MySQL S7 3H

Chap IX : Utilisation de PHP et les bases de


S8 3H
données

S9
TP : Mini-Projet 6H
S10

VOLUME HORAIRE TOTAL 30H

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 2


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

e) Utilisation des tableaux

La fonction array() permet de créer rapidement les tableaux indicés ou associatifs.

1) Les tableaux indicés


On peut définir un tableau en définissant individuellement chacun de ses éléments.

$nomtableau[n]=valeur ;
où n est un indice entier quelconque, et valeur un scalaire ou une variable de type integer,
double, boolean, string ou array.
Ou encore utiliser la fonction array() avec la syntaxe suivante :

$nomtableau = array(valeur0,valeur1,…,valeurN) ;

Permet de définir un tableau indicé de N+1 éléments avec le premier indice égale à 0 et le
dernier égale à N.

Exemple :
Créer un tableau contenant entiers suivants : 20, 14, 17, 52, 87
$tab=array(20, 14, 17, 52, 87) ;
Ou
$tab [0]=20 ;
$tab [1]=14 ;
$tab [2]=17 ;
$tab [3]=52 ;
$tab [4]=87 ;

2) Les tableaux associatifs


Syntaxe avec la fonction array() :
$nomtableau = array("cléA"=>valeurA, "cléB"=>valeurB,… "cléZ"=>valeurZ) ;
Où chaque clé est une chaîne de caractères délimitée par des guillemets.
Pour lire la valeurC, on écrit :
$nomtableau[‘’cléC’’] ;
Exemple :
Créer un tableau permettant de stocker les informations sur un étudiant : matricule, nom,
prenoms, classe, moyenne annuelle. Afficher les informations sur l’étudiant.
<?php
$tabetudiant=array("matricule"=>"A0041C", "nom"=>"KOUAME",
"prenoms"=>"Amenan Chantal", "Classe"=>"BTS IDA2", "Moyan"=>12.80);
//Afficher le nom de l'étudiant
echo "INFORMATIONS SUR L'ETUDIANT <br>"
echo "Matricule : ".$tabetudiant["matricule"]."<br>";
echo "Nom et prénoms : ".$tabetudiant["nom"]." ".$tabetudiant["prenoms"]."<br>";
echo "Classe : ".$tabetudiant["Classe"]."<br>";
echo "Moyenne annuelle : ".$tabetudiant["Moyan"]."<br>";
?>

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 3


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Ou
<?php
$tabetudiant["matricule"]="A0041C" ;
$tabetudiant["nom"] ="KOUAME";
$tabetudiant["prenoms"]="Amenan Chantal";
$tabetudiant["Classe"]="BTS IDA2";
$tabetudiant["Moyan"]=12.80;

echo "INFORMATIONS SUR L'ETUDIANT <br>"


echo "Matricule : ".$tabetudiant["matricule"]."<br>";
echo "Nom et prénoms : ".$tabetudiant["nom"]." ".$tabetudiant["prenoms"]."<br>";
echo "Classe : ".$tabetudiant["Classe"]."<br>";
echo "Moyenne annuelle : ".$tabetudiant["Moyan"]."<br>";
?>

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 4


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Chapitre III – LES FONCTIONS

Une fonction est un bloc de code qui n’est pas exécuté que lors de l’appel explicite de la
fonction dans un script. Écrit une seule fois, ce code peut être exécuté autant de fois que
nécessaire. Allégeant ainsi l’ensemble du code.
PHP propose une multitude de fonctions natives écrites en langage C ainsi que plusieurs
modules d’extension.
Avant d’utiliser un module d’extension, il convient de vérifier qu’il est bien installé sur le
serveur de l’hébergeur.

I- Les fonctions natives de PHP

a. Les fonctions mathématiques

- La fonction max() : elle retourne la plus grande valeur numérique parmi les valeurs
passées en paramètres.

Syntaxe : max (arg1 , arg2 [, ... ])

Si le premier paramètre est un tableau, max() retourne la plus grande valeur de ce tableau.
Si le premier paramètre est un entier, une chaîne ou un nombre à virgule flottante, max()
requiert au moins deux paramètres et retourne alors le plus grand d’entre eux. Le nombre
d’arguments est alors illimité.
Si au moins une valeur est un nombre à virgule flottante, elles seront toutes traitées comme
des nombres à virgule flottante.
Exemple :
<?php
echo max(1, 3, 5, 6, 7); // 7
echo max(array(2, 4, 5)); // 5
?>
La fonction min() est l’opposée de max(). Elle retourne la valeur la plus petite. Le
fonctionnement est en tout point identique à max().

- Arrondir des valeurs


Trois fonctions permettent d’arrondir des nombres : round() renvoie l’entier le plus proche,
floor() arrondit à l’entier immédiatement inférieur et ceil() retourne l’entier immédiatement
supérieur.

round (nombre [, précision] )

La fonction round() retourne la valeur arrondie du nombre passé en paramètre à l’entier le


plus proche. Si vous définissez une précision via le second paramètre, la fonction arrondira
alors à cette précision. Une précision négative permettra d’arrondir à une puissance de 10.
La valeur –2 permettra par exemple d’arrondir à la centaine.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 5


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Exemple :
<?php
echo round(3.4); // Affiche 3
echo round(3.5); // Affiche 4
echo round(3.6); // Affiche 4
echo round(3.6, 0); // Affiche 4
echo round(1.95583, 2); // Affiche 1.96
echo round(1241757, -3); // Affiche 1242000
?>

Arrondi supérieur

ceil (nombre )
La fonction ceil() retourne l’entier supérieur du nombre passé en paramètre. Utiliser
ceil() sur un entier ne sert à rien.

<?php
echo ceil(7.2); // 8
echo ceil(99.999); // 100
?>

Arrondi inférieur

floor(nombre )
La fonction floor() retourne l’entier inférieur du nombre passé en paramètre.

<?php
echo floor(7.2); // 7
echo floor(99.999); // 99
?>

- Créer des valeurs aléatoires

mt_rand([minimum,maximum])
Pour obtenir un nombre entier entre 5 et 15 inclus, il faut utiliser mt_rand(5,15).

Exemple :
<?php
$salaire = mt_rand(1,1000000) ;
if ($salaire < 60000) {
echo "Vous êtes payé $salaire _, c’est en dessous du SMIG";
} elseif ($salaire < 3000) {
echo "Avec $salaire _, vous êtes raisonnablement bien payé";
} else {
echo "$salaire _ ! Contactez-moi, votre travail m’intéresse !";
}
?>
Plusieurs autres fonctions peuvent être utilisées. Parmi celles-ci, il y a :
- Pow($x,$y) : x exposant y
M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 6
Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

- Pi(), sin(), cos(), tan() etc.

b. Les fonctions de date

- Formater une date/heure locale

date (format , timestamp )

La fonction date() retourne une date sous forme d’une chaîne, au format donné par le
premier paramètre. La date est fournie par le second paramètre sous la forme d’un times-
tamp Unix. Si le second paramètre n’est pas renseigné, la date courante est utilisée.

Le format utilisé en premier paramètre permet de définir ce qui sera retourné par la
fonction.
Par exemple, la chaîne Y-m-d permet d’afficher la date sous la forme 2004-01-31.
Une description des différents caractères significatifs spécifiables dans le format est donnée
au tableau 7-2.
Exemple :
<?php
$format = 'd-m-y, H:i:s' ;
$date = date($format) ;
echo $date ;
// Affiche une date sous la forme : 31-04-04, 23:59:59
?>

Caractère Description Exemple


d Jour du mois, sur deux chiffres (avec un zéro initial) 01 à 31
g Heure, au format 12h, sans les zéros initiaux 1 à 12
G Heure, au format 24h, sans les zéros initiaux 0 à 23
h Heure, au format 12h, avec les zéros initiaux 01 à 12
H Heure, au format 24h, avec les zéros initiaux 00 à 23
i Minute avec les zéros initiaux 00 à 59
j Jour du mois sans les zéros initiaux 1 à 31
m Mois au format numérique, avec zéros initiaux 01 à 12
M Mois, en trois lettres, en anglais Jan à Dec
n Mois sans les zéros initiaux 1 à 12
s Seconde avec zéros initiaux 00 à 59
W Numéro de la semaine dans l’année 42
Y Année à quatre chiffres 2004
y Année à deux chiffres 04
Z Jour de l’année 312

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 7


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Timestamp Unix
Le timestamp est l’unité couramment utilisée pour les dates sur les systèmes Unix. Il s’agit d’un
décompte des secondes écoulées depuis 1970 (il est toutefois possible sur la plupart des systèmes
d’accéder aux dates entre 1901 et 1970 en utilisant un entier signé négatif pour le nombre de secondes).
Ce format a deux avantages : il utilise un simple nombre entier pour être stocké et facilite les
manipulations de dates (on peut directement ajouter ou soustraire des dates et des périodes, toutes
exprimées en secondes).
Sur les systèmes 32 bits, ce format présente le désavantage d’être limité à l’année 2038 (à cette date,
le nombre de secondes écoulées dépassera la taille d’un entier 32 bits). Le pari fait est qu’à cette date,
la plupart des systèmes seront en 64 bits, donc que la limite de 2038 sera reculée à une date quasi
inatteignable.

- Vérifier les dates


Les fonctions de date peuvent être utiles à de nombreuses autres tâches, par exemple
vérifier la validité d’une date (pour contrôler une valeur saisie par un utilisateur).

checkdate ( mois, jour, annee )

La fonction checkdate() renvoie TRUE si la date représentée par le jour, le mois et l’année
donnés en paramètres est valide, FALSE sinon. Les années bissextiles sont prises en compte.

<?php
// On récupère la date d’anniversaire fournie
// sous la forme JJ/MM/AAAA
$anniversaire = $_REQUEST['anniversaire'];
$tab = explode("/",$anniversaire);
// On vérifie que cette date est valide
if (checkdate($tab[1],$tab[0],$tab[2])){
echo 'La date est valide.';
}else{
echo 'La date est invalide.';
}
?>

La fonction getdate()

La fonction getdate(champ) retourne un tableau associatif contenant les informations de


date et d'heure avec les champs suivants :
Champs Description Exemple
seconds secondes 23
minutes minutes 7
hours heures de la journée de 0 à 23 16
mday jour du mois de 1 à 31 18
wday jour de la semaine de 0 à 6 5
mon mois de l'année 4
year année en 4 chiffres 2003
yday jour de l'année de 0 à 365 185
weekday nom du jour de la semaine (en anglais) Monday
month mois de l'année (en anglais) January

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 8


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Par exemple :
<?php
$aujourdhui = getdate();
$mois = $aujourdhui['month'];
$jour = $aujourdhui['mday'];
$annee = $aujourdhui['year'];
echo "$jour/$mois/$annee";
?>

a. Les fonctions de chiffrement

Toute application produisant des flux de données confidentielles implique une sécurisation
de ceux-ci pour éviter qu’un tiers puisse les consulter. La solution optimale est de chiffrer les
données à sécuriser empêchant ainsi leur utilisation en cas d’interception.

Quelques définitions
Sous le terme de chiffrement, nous distinguerons en fait deux termes plus précis et plus
corrects : hachage et codage (et décodage).

Le procédé de hachage est une opération à sens unique qui permet d’obtenir une chaîne non
prédictible et qui semble aléatoire à partir d’un texte ou d’une donnée. La chaîne résultante
est généralement assez courte. Comme il s’agit d’une opération à sens unique, personne ne
pourra décoder la chaîne résultante et revenir à la donnée d’origine, pas même vous qui avez
fait la première conversion.

La fonction md5
Il est impossible de construire volontairement une donnée qui donne un MD5 spécifié.
Cette fonction est utilisée pour gérer les mots de passe système.
Le résultat est une chaîne hexadécimale (donc facilement manipulable et affichable) de
32 caractères.
Exemple:
<?php
$donnee = 'secretXzB';
$md5 = md5( $donnee );
echo $md5 ;
?>

La fonction sha1
Le SHA1 est similaire au MD5 mais renvoie une chaîne légèrement plus longue (40 caractères
hexadécimaux, ou 20 octets).

Les procédés de codage et décodage permettent, eux, d’avoir une opération à double sens.
Une fois la chaîne transformée, il est possible de revenir à la donnée d’origine, que ce soit avec
un mot de passe ou grâce à un système plus complexe.
Les fonctions de codage et décodage se séparent elles-mêmes en deux groupes : les codages
à clé publique et les codages à clé privée.
Les premiers désignent les codages qui emploient la même clé (ou le même mot de passe)
pour coder et décoder la donnée. Les autres permettent d’avoir un mot-clé pour coder et un
pour décoder. Généralement, on en réserve un pour soi et on diffuse l’autre.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 9


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

II- Les fonctions utilisateurs


En dehors des fonctions intégrées au langage PHP, le programmeur peut définir des
fonctions dans le but de simplifier des tâches répétitives ou de mieux organiser son code et
faciliter ainsi sa maintenance. On parle de fonctions utilisateurs.

1) Déclaration de fonction
Elle peut se faire n’importe où dans le code. Elle se fait avec le mot-clé function.

function Nom_de_la_fonction(argument1, argument2, ...) {


liste d'instructions
}

Une fonction en PHP peut renvoyer une valeur au programme appelant. Dans ce cas, l’instruction
return à l’intérieur de la fonction (généralement la dernière instruction) est utilisée.

return valeur_a_renvoyer

Remarques :
Le nom de la fonction suit les mêmes règles que les noms de variables :
- le nom doit commencer par une lettre.
- un nom de fonction peut comporter des lettres, des chiffres et les caractères _ et &. Les
espaces ne sont pas autorisés.
- le nom de la fonction, comme celui des variables est sensible à la casse (différence entre les
minuscules et majuscules).
Les arguments sont facultatifs mais s'il n'y a pas d'arguments, les parenthèses doivent rester
présentes.
Il ne faut pas oublier de refermer les accolades.

2) Appel de fonction
Pour utiliser une fonction, il faut l’appeler. Elle se fait en utilisant le nom de la fonction (suivi
de la liste exhaustive de ses arguments dans l’ordre, en les séparant par des virgules) si elle
en possède.

Nom_fonction() //Fonction sans argument


Nom_fonction(arg1, arg2, ..., argN) //Fonction avec argument

Exemple :
Ecrire une fonction qui fait la somme de 2 entiers.

Dans cet exemple la fonction a été appelée plusieurs fois.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 10


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

On peut définir une valeur par défaut d’un argument. Dans ce cas, on utilise le nom de
l’argument suivi du symbole = et de la valeur par défaut.
Ainsi, lorsque l’utilisateur ne définit pas de valeur pour cet argument pendant l’appel de
la fonction, la valeur par défaut sera utilisée.
NB : Tous les arguments sauf le premier.

Exemple
Ecrire une fonction qui donne un message de salutation suivi d’un nom.
Par exemple "Bonjour GOGBE".
Par défaut, le programme dira Bonjour sauf si un autre message de salutation lui est précisé.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 11


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Chapitre IV – LES STRUCTURES CONDITIONNELLES

Doc PHP 5 Cours et Exercices P 70


Comme tout langage, PHP dispose d’instructions conditionnelles qui permettent d’orienter le
déroulement d’un script en fonction de la valeur de données.

I. L’instruction if

Présente dans tous les langages de programmation, elle permet d’orienter l’exécution du
script en fonction de la valeur booléenne d’une expression.

Syntaxe :

if (expression) instruction;

expression est une valeur booléenne. Si l’expression incluse dans les parenthèses est évaluée
à la valeur booléenne TRUE, l’instruction qui suit est exécutée. Dans le cas contraire,
l’exécution passe directement à la ligne suivante.
L’instruction if peut être suivie d’un bloc d’instructions délimité par des accolades qui sera
entièrement exécuté dans les mêmes conditions :

Syntaxe :
if(expression)
{
//bloc d’instructions
}
NB :
 Ne vous trompez pas d’opérateur
Une erreur courante consiste à confondre l’opérateur de comparaison == avec
l’opérateur d’affectation =. Dans les expressions conditionnelles, pour tester l’égalité de
deux valeurs il faut employer l’opérateur == ou encore === pour tester l’identité (même
valeur et même type).
 Les accolades
Dans le cas d’une seule instruction, les accolades peuvent être omises, mais cela est
déconseillé (comme l’indiquent les règles de codage)
Doc PHP 5 La Bible Micro Application

II- L’instruction if...else

L’instruction if...else permet de traiter le cas où l’expression conditionnelle est vraie et en


même temps d’écrire un traitement quand elle est évaluée à FALSE. L’instruction ou le bloc
qui suit else est alors le seul à être exécuté. L’exécution continue ensuite normalement après
le bloc else.
Syntaxe:
if(expression) if(expression)
{ //ligne instruction
//bloc d’instructions ou else
}else{ //ligne instruction
//bloc d’instructions
}

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 12


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Exemple 1 : Instruction if …. else


On se propose d’écrire un programme qui calcule le prix net après une remise variable en
fonction du montant des achats selon les critères suivants :
 Si le prix total est supérieur à 20 000 F, la remise est de 10 % (Cette condition est traitée
par l’instruction if).
 Pour les montants inférieurs ou égaux à 20 000 F, la remise est de 5 % (Cette condition
est traitée par l’instruction else).

<?php
$prixtotal=25000;
if($prixtotal >25000)
{
echo "<b>Pour un montant d'achat de", $prix, " F la remise est de 10 % </b><br />";
echo "Le prix net est de ", $prix*0.90;
}
else
{
echo "<b>Pour un montant d'achat de $prix F, la remise est de 5 %</b><br/>";
echo "<h3>Le prix net est de ", $prix*0.95,"</h3>";
}
?>

Le bloc qui suit les instructions if ou else peut contenir toutes sortes d’instructions, y compris
d’autres instructions if...else. Nous obtenons dans ce cas une syntaxe plus complexe, de la
forme :
if(expression1)
{
//Bloc 1
}
elseif(expression2)
{
//Bloc 2
}
else
{
//Bloc 3
}

Exemple 2: Instruction if(expression)…elseif(expression2)…else….

On se propose à nouveau d’afficher le montant d’une remise en fonction des modalités


suivantes :
 Si vous achetez une mini-chaîne de plus de 200 000 F, la remise est de 15 %
 Pour les cartes mémoires, la remise est de 5 %
 Pour les autres articles, la remise est de 3 %

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 13


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

<?php
// ********************if...elseif...else************** **
$cat="MINI-CHAINE";
$prix=150000;
if($cat=="MINI-CHAINE")
{
if($prix >= 200000)

{
echo "<b>Pour l'achat d'une mini-chaîne d'un montant de", $prix, "F la remise est de
15 %</b><br />";
echo "<h3> Le prix net est de : ",$prix*0.85, "F </h3>";
}
}
elseif($cat=="Cartes mémoires") ←
{
echo "<b>Pour l'achat de cartes mémoires la remise est de 5 %</ b><br />";
echo "<h4> Le prix net est de : ",$prix*0.95, "F</h4>";
}
else
{
echo"<b>Pour les autres achats la remise est de 3 %</ b><br />";
echo "<h4> Le prix net est de : ",$prix*0.97, "F </h4>";
}
?>

III- L’opérateur ?
L’opérateur ? permet de remplacer avantageusement une instruction if...else en évaluant
une expression et en attribuant à une variable une première valeur si la condition est vraie
ou une autre valeur si elle est fausse.

Syntaxe :
$var = expression ? valeur1 : valeur2

Elle est équivalente à :


if(expression) {
$var=valeur1;
}
else {
$var=valeur2;
}

Cet opérateur est généralement employé avec des expressions booléennes courtes.

Exemple :
<?php
$ch = "Bonjour ";
$sexe="M";
$ch .= ($sexe=="F")?"Madame":"Monsieur";
echo "<h2>$ch</h2>";
?>

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 14


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

IV- L’instruction switch …case

Cette instruction est utilisée pour remplacer des tests if consécutifs sur une même variable.
Elle permet de comparer la valeur d’une expression avec une liste de valeurs prédéterminées
par le programmeur et d’orienter le script en fonction de la valeur de cette expression.

Syntaxe :
switch(expression)
{
case valeur1:
//bloc d'instructions 1;
break;
case valeur2:
//bloc d'instructions 2;
break;
........................
case valeurN:
//bloc d'instructions N;
break;
default:
//bloc d'instructions par défaut;
break;
}

Remarques :
 default est la condition qui sera VRAIE si aucune des autres ne l’est. Elle permet,
généralement, de gérer des cas d’erreurs de saisie par exemple.
 L’instruction break permet de sortir directement de la structure sans exécuter les
autres blocs qui suivent.
 La valeur qui suit chaque instruction case peut être une constante littérale ou une
constante nommée déclarée avec le mot-clé define.

Exemple 1 :
On se propose d’écrire un script qui affiche l’horoscope en fonction du signe zodiaque.
Voici les différents horoscopes :
- Lion : Vous êtes un fonceur dans la vie.
- Taureau : Rien ne vous échappe.
- Scorpion : Vous serez souvent trahi malgré votre bonne foi
- Verseau : Les métiers de l’air vous sont favorables
- Cancer : Vous serez heureux
- Balance : vous aimez la justice
- Capricorne : Vous êtes chanceux
- Vierge : La gentillesse est votre défaut
- Gémeaux : vous adorez les amis
- Poissons : Vous aimez les voyages
- Sagittaire : Vous rencontrerez l’amour
- xxxx : Votre force est atout majeur

Votre script peut se présenter comme suite :


M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 15
Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

<?php
function horoscope($signe){
switch($signe){
case "Lion": return "Vous êtes un fonceur dans la vie";
break;
case "Balance": return "Vous aimez la justice";
break;
case "Capricorne": return "Vous êtes chanceux";
break;
case "Sagittaire": return "Vous rencontrerez l’amour";
break;
case "Taureau": return "Votre force est atout majeur";
break;
case "Gemeaux": return "Vous adorez les amis";
break;
case "Poissons ": return "Vous aimez les voyages";
break;
case "Cancer ": return "Vous serez heureux";
break;
case "Verseau": return "Les métiers de l’air vous sont favorables";
break;
case "Scorpion": return "Vous serez souvent trahi malgré votre bonne foi";
break;
case "Vierge": return "La gentillesse est votre défaut";
break;
case "xxxx ": return "Votre force est atout majeur";
break;

default: return "Erreur dans la fonction";


break;
}
}

echo "<span><strong>Horoscope du jour : </strong><br/>


<ul>
<li><b>Balance : </b>",horoscope("Balance")," </li>
<li><b>Lion : </b>",horoscope("Lion")," </li>
<li><b>Capricorne : </b>",horoscope("Capricorne")," </li>
<li><b>Cancer : </b>",horoscope("Cancer")," </li>
<li><b>Vierge : </b>",horoscope("Vierge")," </li>
</span>";

?>

Exemple 2 :
On se propose d’écrire une fonction PHP qui renvoie le jour en français à partir de la date du
jour.
Utiliser la fonction getdate() et le paramètre « weekday » pour obtenir le jour de la semaine
en anglais.
Votre fonction devrait se présenter comme ci-dessous :
<?php
function joursemaine(){
$datejour=getdate();
$jour=$datejour["weekday"];
switch($jour){
case "Monday": return "Lundi";
break;
case "Tuesday": return "Mardi";
break;
M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 16
Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

case "Wednesday": return "Mercredi";


break;
case "Thursday": return "Jeudi";
break;
case "Friday": return "Samedi";
break;
case "Saturday": return "Samedi";
break;
case "Sunday": return "Dimanche";
break;
default: return "Erreur dans la fonction";
break;
}
}
echo "<p>Nous sommes, aujourd'hui, le <b>",joursemaine(),"</b>
</p>";
?>

Exercice pratique :
Dans le même ordre d’idée que l’exercice précédent, écrire une fonction qui renvoie le mois
en français de la date du jour.

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 17


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Chapitre VI - LES STRUCTURES DE BOUCLE

Les boucles permettent de répéter plusieurs fois les mêmes instructions. Selon la structure de
boucle utilisée, le nombre d’itérations peut être déterminé d’avance ou être défini par une
condition particulière.

I- La boucle for
La boucle for permet d’exécuter un certain nombre de fois la même instruction ou le même
bloc d’instructions.
Sa syntaxe est la suivante :
for(expression1; expression2; expression3)
{
//instruction ou bloc;
}
expression1 est exécutée avant toute itération et sert généralement à initialiser les variables
servant de compteur à la boucle.
expression2 est exécutée à chaque itération. Si elle est VRAIE, une nouvelle exécution des
instructions a lieu, sinon le programme sort de la boucle.
expression3 est une instruction exécutée à chaque itération. Elle sert généralement à
incrémenter une variable.

Exemple :
On se propose d’écrire un script qui affiche les chiffres de 0 à 9:

for ($i=0;$i<10;$i++) {
echo $i;
}

II- La boucle Foreach


L’instruction foreach permet de parcourir rapidement l’ensemble des éléments d’un tableau.
Plus efficace que l’instruction for, il permet de lister les éléments d’un tableau associatif sans
connaitre le nombre d’éléments ni les clés.
Pour lire les valeurs seules, la première syntaxe est la suivante :
foreach($tableau as $valeur)
{
//bloc utilisant la valeur de l'élément courant
}
Exemple :
<?php
//Lecture des seules valeurs
$tab=array("Jean","Henri","Mory","Hubert");
foreach($tab as $valeur){
echo $valeur,"<br/>";
}
?>

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 18


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

Pour lire les valeurs et les clés (ou les indices), la deuxième syntaxe est la
suivante :
foreach($tableau as $cle=>$valeur)
{
//bloc utilisant la valeur et la clé de l'élément courant
}

Exemple :
<?php
//Lecture des valeurs et des clés
$tab=array("Jean","Henri","Mory","Hubert");
foreach($tab as $cle=>$valeur){
echo "Nom ",$cle," : ",$valeur," <br/>";
}
?>

III- La boucle While


La boucle For oblige à connaitre les valeurs limites pour lesquelles la boucle doit s’arrêter à
moins d’utiliser une instruction If pour la stopper avec l’instruction Break.
La boucle While (Tant Que) permet de contourner cette contrainte. Elle répète une action tant
qu’une condition est vérifiée ou une expression est évaluée à True et s’arrête quand la
condition n’est plus vérifiée.
La syntaxe est :
while(expression)
{
//Bloc d'instructions à répéter;
}

NB : Il est important d’inclure dans la boucle une instruction susceptible de modifier la


valeur de l’expression de la condition pour éviter une boucle infinie (dans laquelle la valeur
de l’expression est toujours évaluée à True).
Exemple de boucle infinie :
< ?php
$rep= ‘oui’ ;
While($rep)
{
echo $a ;
}
?>

IV- La boucle Do...while


Une variante de la boucle while est la boucle do…while (Repeter ….Jusqu’a). La différence
réside dans ce que le test est fait après les instructions. Ainsi, la série d’instructions est
obligatoirement effectuée au moins une fois avant d’être testée.

La syntaxe :
do {
instruction1;
instruction2;
} while (expression);

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 19


Support de cours Module Langage de programmation PHP 2 è me Année BTS Informatique Développeur d’Application

V- Les instructions de sortie anticipée des boucles


Les instructions break et continue permettent d’arrêter une boucle avant son terme normal.

L’instruction break
Elle permet d’arrêter l’exécution de la boucle en cours sans arrêter tout le script.

L’instruction continue
Contrairement à l’instruction break, l’instruction continue n’arrête pas la boucle en cours
mais l’itération en cours. Ainsi, toutes les instructions qui suivent le mot-clé continue ne sont
pas exécutées lors de l’itération en cours.

Exemple 1 :
Soit un tableau contenant 10 nombres entiers quelconques. On veut écrire un script qui
permet d’afficher les nombres >=20.

Solution:
<?php
$tab=array(5,20,41,10,14,2,6,42,23,17);
for($i=0;$i<count($tab); $i++)
{
if($tab[$i]<20){continue;}
echo "Valeur $i : ",$tab[$i]," <br />";
}
?>

Exemple 2 :
Ecrire un script qui permet d’afficher les 3 premiers nombres d’un tableau de 10 entiers.

Solution :
<?php
$tab=array(5,20,41,10,14,2,6,42,23,17);
for($i=0;$i<count($tab); $i++)
{
if($i==3){break;}
echo "Valeur $i : ",$tab[$i]," <br />";
}
?>

M. GOGBE Benjamin – Professeur d’Algorithmique et programmation 20

Vous aimerez peut-être aussi