|
Tweet | Envoyer cette page |
Cours PHP | Plan du site |
Se connecter
Plus que 18 jours pour gagner 5 jeux !
Marre de la pub ? Devenez membre premium !
![]() | 21 décembre 2012 : la fin du monde ? |
![]() | "Il est déjà trop tard" : l'espèce humaine devrait s'éteindre ce siècle |
![]() | Démographie : la vraie vérité qui dérange |
![]() | Les abeilles, témoins du bon état de notre environnement, disparaissent massivement |
![]() | Un nouveau "continent" de déchets a été découvert dans l'océan Atlantique Nord ! |
![]() | Manger autant de viande est une aberration pour l'environnement et la santé |
![]() | Le pic pétrolier mondial : on doit s'y préparer dès maintenant ! |
![]() | Limiter l'augmentation de la température planétaire à 2 ºC n'est plus réalisable |
![]() | Le déclin de l'industrie nucléaire |
![]() | 7 milliards d'habitants sur Terre |
![]() | Pollution de l'air : plus de 2 millions de morts par an |
Marre de la pub ? Devenez membre premium !
Cartes et données mises à jour en "temps réel"Découvrez l'agenda du mois
> > Février 2012 < <
Marre de la pub ? Devenez membre premium !
www.notre-planete.info : environnement, développement durable et sciences de la Terre
Les boucles sont des structures qui permettent d'exécuter plusieurs fois une ou plusieurs instructions en fonction d'une ou plusieurs conditions.
Les boucles se retrouvent dans un grand nombre de scripts PHP, notamment parce qu'elles permettent de lire les enregistrements successifs des tables de bases de données.
Nous n'évoquerons ici que les boucles les plus communes.
Cette boucle appelée en algorithmique « tant que » permet d'effectuer les mêmes opérations (bloc d'instructions) tant que la valeur de l'expression est vraie.
Bien sûr, il faut s'assurer qu'une instruction de la boucle rende le test faux, sinon la boucle s'éxécutera à l'infini... Ce qui n'est pas sans poser de problèmes tout en étant une arme redoutable pour faire tourner en bourrique votre serveur.
while (expression à valider) {
instructions à exécuter;
}
<?php
$table = 5;
$res = 'table de multiplication de '.$table.'<br />';
$i = 0;
while ($i < 11) {
$res .= $i.' * '.$table.' = '.$i*$table.'<br />';
$i++;
}
echo $res;
?>
table de multiplication de 5
0 * 5 = 0
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45
10 * 5 = 50
Cette boucle appelée "jusqu'à" fonctionne comme la boucle while sauf que le bloc d'instruction est au moins exécuté une fois puisque le test se fait à la fin de la structure.
do {
instructions à exécuter;
}
while(expresion à valider);
<?php
$table = 5;
$res = 'table de multiplication de '.$table.'<br />';
$i = 0;
do {
$res .= $i.' * '.$table.' = '.$i*$table.'<br />';
$i++;
}
while ($i < 11);
echo $res;
?>
table de multiplication de 5
0 * 5 = 0
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45
10 * 5 = 50
Notons que l'utilisation de cette boucle est nécessaire lorsque l'on souhaite que les instructions soient au moins effectuées une fois, puisque le test est effectué à la fin.
Cette boucle très utilisée permet d'exécuter une ou plusieurs instructions un certain nombre de fois.
On l'utilise couramment avec un compteur qui détermine le nombre de passage dans la boucle. Ainsi, un compteur est incrémenté (augmenté de 1) à chaque itération (passage dans la boucle). La valeur du compteur est également comparée à la valeur maximale qu'il peut prendre. Une fois cette limite atteinte, la boucle se termine.
Il est possible de sortir prématurément de la boucle grâce à l'instruction break comme dans le cas du switch.
for (initialisation; valeur maximale; incrément du compteur) {
instructions;
}
Cet exemple permet d'afficher une note à des sites Internet d'un annuaire. Chaque site se voit attribuer de 1 à 3 coeurs en fonction de leur qualité.
Le nombre de coeurs d'un site est connu, cette valeur a été récupérée dans la base de données (nous verrons comment extraire des données d'une base de données par la suite).
<?php
$c = 2; //nombre de coeurs à afficher pour le site
for ($j = 0 ; $j < $c ; $j++) {
$coeurs .= '<img src="http://www.notre-planete.info/PHP/medias/coeur.gif"
width="10" height="10" hspace="0" align="middle">';
}
echo $coeurs;
?>
Le résultat sera :
![]()
![]()
Pour afficher le troisème samedi du mois de l'année en cours.
<?php
for ($i = 1; $i <= 12; $i++) {
echo date("Y-m-d", strtotime("2010-$i third saturday")).'<br />';
}
?>
Le résultat sera :
2010-01-16
2010-02-20
2010-03-20
2010-04-17
2010-05-22
2010-06-19
2010-07-17
2010-08-21
2010-09-18
2010-10-16
2010-11-20
2010-12-18
La boucle for est très souvent employée tant qu'on connaît la valeur maximale. Sinon, on préférera les boucles while ou foreach décrites ci-dessous.
Cette boucle empruntée au Perl permet de parcourir tous les éléments d'un tableau. A chaque itération (passage dans la boucle), l'élément suivant est exploité avec sa clé (ou indice) et sa valeur, sans qu'il faille l'indiquer. La boucle cessera dès qu'il n'y aura plus d'éléments à parcourir dans le tableau.
La syntaxe est la suivante :
foreach ($tableau as $valeur) {
instructions à exécuter;
}
foreach ($tableau as $cle => $valeur) {
instructions à exécuter;
}
Notons que cette boucle travaille sur une copie du tableau parcouru et non sur le tableau lui-même. Ainsi, les éventuelles modifications faites à l'intérieur de la boucle foreach sur le tableau ne seront pas prises en compte.
Déclarons un tableau associatif (dont les indices sont des chaînes de caractères) qui reprend le dernier sujet de discussion des forums notre-planete.info
<?php
$tableau = array (
"forum" => "géographie",
"titre" => "TPE sur les tsunamis",
"date" => "27/12/2004"
);
// affichage des valeurs du tableau
foreach ($tableau as $valeur) {
echo $valeur.'<br />';
}
// affichage des clés et valeurs du tableau<br />
foreach ($tableau as $cle => $valeur) {
echo 'Clé '.$cle.' et sa valeur : '.$valeur.'<br />';
}
?>
Le résultat sera le suivant :
géographie
TPE sur les tsunamis
27/12/2004
Clé forum et sa valeur : géographie
Clé titre et sa valeur : TPE sur les tsunamis
Clé date et sa valeur : 27/12/2004
Haut de page ^
Offres d'emploi et CV
Livres et DVD
Associations
Communiqués
Agenda
Flux RSS
Partenaires
Page mise à jour le 01/12/2011 21 connectés© 2001-2012 notre-planete.info® v. 5.69 - tous droits réservés
notre-planete.info est un site indépendant qui informe et sensibilise objectivement sur l'environnement, l'écologie, les sciences de la Terre et le développement durable
Mentions légales |
Presse |
Publicité |
Contact |
Liens et logos |
Soutenez notre-planete.info !