Stats
- 12 connecté(e)s
- 5143 membres
-
- 1218 news
- 3106 topics
- 70 articles
- 35 questions
- 144 sites
-
- St(e) Rolande
Proverbes
- Il n'y a pire mal qu'une mauvaise femme, mais rien n'est comparable à une femme bonne
- [ Euripide ]
Partenaires

Les conditions (2e partie)
Posté par kazhar le 07/11/2004 dans la catégorie Bases de PHP
-
- Un des principaux avantages de l'informatique, en général, est de permettre d'automatiser des taches fastidieuses. Imaginons que nous voulions écrire tous les entiers inferieurs à 5.
Il serait dommage de devoir écrire:
Code :
<?php
echo "0";
echo "1<br />";
echo "2<br />";
echo "3<br />";
echo "4<br />";
echo "5<br />";
?>
L'informatique a créé, pour ce genre de besoin, la notion de boucle.
WHILE
while est une boucle qui permet d'écrire:
TANT QUE testest vrai FAIRE action
Code :
<?php
$i = 0;
while ($i <5)
{
echo "$i<br />":
$i++;
}
echo "<br />fin de boucle";
?>
affichera sur notre page :
0
1
2
3
4
fin de la boucle
Faites attention lorsque vous travaillez avec une boucle while à ne pas vous retrouver dans une boucle infinie. Cela aurait été le cas si nous avions oublié la ligne $i++. En effet, dans ce cas, la variable aurait gardé la valeur 0 et la boucle while aurait affiché "0" eternellement......
Comme pour les conditions, le test peut etre complexe:
Code :
<?php
$i = 1;
while (($n != 121) && ($i <100))
{
$n = $i * $i;
echo "i = $i, n= $n<br>";
$i++;
}
?>
afficherait sur notre page :
i = 1, n= 1
i = 2, n= 4
i = 3, n= 9
i = 4, n= 16
i = 5, n= 25
i = 6, n= 36
i = 7, n= 49
i = 8, n= 64
i = 9, n= 81
i = 10, n= 100
i = 11, n= 121
DO...WHILE
Une variante existe au while: le do...while. il ne sagit plus d'un tant que...faire mais d'un faire...tant que. Dans ce cas, le code de la boucle est donc au moins executé une fois:
Code :
<?php
$i = 6;
do
{
echo $i;
}
while ($i<5);
?>
Bien que $i contienne la valeur 6 et que le test soit $i<5, le code est bien executé une fois.
FOR
La syntaxe de la boucle for est la suivante:
for (expression1; expression2; expression3)
- expression 1 est l'instruction initiale avant la première itération;
- expression 2 est le test réalisé au début pour chaque itération;
- expression 3 est l'instruction éxécutée à la fin de chaque itération.
Ainsi, l'équivalent de cette boucle while est la boucle for suivante:
Code :
<?php
$i = 0;
while ($i <= 10)
{
echo "$i <br>";
$i++;
}
?>
<?php
for ($i = 0; $i<=10; $i++)
{
echo "$i<br>";
}
?>
La boucle for permet donc de condenser les principaux éléments d'une boucle au sein d'une meme ligne.
FOREACH
PHP propose une espece de for spécialement dédié aux tableaux: le foreach. Il pourrait etre traduit ainsi:
Pour chaque élément du tableau, faire
Code :
<?php
$tab = array ("a"; "b", "c", "d");
foreach ($tab as $val)
{
echo "$val ";
}
?>
s'il s'agit d'un tableau associatif, il faut alors écrire:
Code :
<?php
$tab = array("prenom" => "paul", "nom" => "dupont");
foreach ($tab as $indice => $valeur) { echo "$indice = $valeur";
} ?>
qui affichera sur notre page :
prenom = paul nom = dupont
PHPortail.net © 2003 - 2008; Tous les droits réservés - Webmaster: Philippe Gamache
Site valide Xhtml Strict, CSS 2