Home
Contribs
|  










 |
Goodiez
Download
Sheep Corp
|
S'identifier :. |  |

 |
tutorial php : les boucles.
Definition :
Une boucle en programmation est une action que l'on va répété un certain nombre de fois prédéfinie ou soumis a condition. Les boucles sont indispensables pour l'élaboration de script complexe style forum, gestion de fichier, et tout ce qui manipule des series de données.
Pré-acquis :
base du php, les conditions, les variables tableaux, et de préférence les fonctions.
Introduction :
Le php utilise des structures de boucles venant du C (comme les conditions et tant de truc). instruction break : L'instruction break permet de sortir d'une boucle à tout moment. => appel : continue; instruction continue : L'instruction continue permet de revenir au début de la boucle. => appel : continue;
exemple : <?
for($i=0;is_array($tablo) && isset($tablo[$i]); $i++) {
if( $tablo[$i] == 'suivant' ) {
continue;
}
if( $tablo[$i] == 'fin' ) {
break;
}
}
?> . . les différentes boucles (liste non exaustive) :
boucle for :
for([initialisations]; [condition] ; [action récurrente]){ [instruction] }
exemple : nous avons une var tableau définie ainsi :<?
$tablo = array("toto", "tobi", "valérie", "daniel");
?> nous allons a l'aide de la boucle for() parcourir et afficher les données contenues dans cette variable.<?
for($i=0;is_array($tablo) && isset($tablo[$i]); $i++) {
echo $tablo[$i]."<br>\n";
}
//initialisation : $i=0 car nous démarrons le parcour de cette var a $tablo[0], on aurait pu démarré a $tablo[2]
//condition #1 : is_array($tablo) nous vérifions que $tablo est bien une var tableau, ici pas de doute certe...
//condition #2 : isset($tablo[$i]) nous vérifions que $tablo[$i] existe, soit dénifie, pour arréter notre boucle a la dernier valeur dans $tablo pour éviter les boucles sans fin
//action récurrente : $i++ est une incrémentation de la var $i (+1 a chaque tour), nous sert a parcourir de 1 en 1 les valeur de la var tableau.
//instruction : echo $tablo[$i] va afficher $tablo[$i] qui est la valeur de $tablo parcourue
?> résultat a l'écran : résultat coté source : toto<br>
tobi<br>
valérie<br>
daniel<br>
boucle while :
while( [condition] ){ [instruction] }
Tant que la condition est définie, la boucle continue... comme dans toute boucle... l'initialisation si il y a besoin doit etre définie préalablement, et y doit y avoir soit une incrémentation en dans le bloc instruction, soit une instruction de sortie de boucle ( breack; )
ATTENTION aux boucles infinies, l'oublie de l'incrémentation ou instruction de sortie et monnaie courante (du moins chez moi )
exemple : <?
$tablo = array("toto", "tobi", "valérie", "daniel");
$i='0';
while(is_array($tablo) && isset($tablo[$i])) {
echo $tablo[$i++]."<br>\n";
}
?> Ici l'incrémentation qui assure le parcoure de la var tableau $tablo et bien réalisé dans l'instruction d'affichage echo ($i++)
Le bloc de condition est identique a l'exemple de la boucle for(), je ne la re-détaillerais pas. Résultat identique a l'exemple de la boucle for().
boucle do .. while :
La condition de sortie est située en fin de boucle. Ainsi la boucle est parcourue une fois au minimum. <?
$tablo = array("toto", "tobi", "valérie", "daniel");
$i=0;
do{
echo $tablo[$i++]."<br>\n";
} while(isset($tablo[$i]));
?> Ici encore le résultat est totalement identique aux boucles précédentes, l'intéret ici et que l'instruction est éxécité avant que la condition soit vérifié, soit éxécuté minimum 1 fois... personnellement jamais utilisé. (si vous trouver une utilisation, hésitez pas)
boucle foreach :
Boucle de parcour de variable tableau par exellence, très interressante dans le cas de var tableau multidimensionnelle. Sans condition autre que celle de parcourrir la var tableau tant qu'elle est définie (identique a une condition isset($tablo[$i]) ).
Nous allons faire les exemple a partir de la var tableau $var_tablo a deux dimensions définie ainsi : <?
$var_tablo = array("nom" => "pelican", "prenom" => "julien", "adresse" => "pas tres loin de paris");
?> pour parcourrir une var tableau en prennant seulement la valeur de chaque clef :<?
foreach($var_tablo AS $valeur){
echo $clef."<br>\n";
}
?> résultat a l'écran : pelican
julien
pas tres loin de paris coté source : pelican<br>
julien<br>
pas tres loin de paris<br> pour parcourrir une var tableau en prennant la clef et la valeur: <?
foreach($var_tablo AS $clef => $valeur){
echo $valeur." : ".$valeur."<br>\n";
}
?> résultat a l'écran : nom : pelican
prenom : julien
adresse : pas tres loin de paris coté source : nom : pelican<br>
prenom : julien<br>
adresse : pas tres loin de paris<br> exemple pour une var tableau multi-dimension $zevardeouf :<?
$zevardeouf = array("président" => array("nom" => "daniel", "departement" => "75016"), "comptable" => array("nom" => "valérie", "departement" => "78200"), "codeur" => array("nom" => "chapodepay", "departement" => "78800") );
foreach($zevardeouf as $clef => $valeur){
echo "<b>".$clef."</b> : ";
foreach($zevardeouf[$clef] as $clef2 => $valeur2)
echo "<li>".$clef2." : ".$valeur2."<br>\n";
}
?> résultat a l'écran :

coté source :<b>président</b> : <li>nom : daniel<br>
<li>departement : 75016<br>
<b>comptable</b> : <li>nom : valérie<br>
<li>departement : 78200<br>
<b>codeur</b> : <li>nom : chapodepay<br>
<li>departement : 78800<br> Voila, je vais m'arreter la dessus, les bases des boucle php sont expliqué et je suis fatigué. en esperant que ce tuto serve a quelqu'un.
tutorial par chapodepay reproduction interdite sans accord préalable pour sheep-team.org |
|  |  |  |
 |
Infos:
 Par: chapodepay Rubrique: PHP, MYSQL
| | Appréciation:
 Favoris: 0 Commentaires: 4
| | Popularité:
 Vues: 30
| | Tutorial:
 Taille: 23ko
| |  |
|
|  |  |  |
 |
|
Commentaires |  |
chapodepay Pollueur de forum


 Envoyé le: 06/09/04 03:02 | par contre... y a vraiment un probleme avec la mise en page, les balise code supprime tous les saut de ligne ki suivent leur fermeture... |
|  |
Merlin Enchanté...


 Envoyé le: 06/09/04 10:51 | Cool chapo, merci bcp  |
|  |
|
| 
 |
|
|
|  | |  |
 | |
|