Les bases de PHP - Chapitre 5
Le Mercredi 10 Mai 2006 à 22:59
Pour décrire la structure algorithmique de votre programme, PHP propose la panoplie complète des structures de contrôle habituelles :
• for,
• while et do/while,
• if et if/else,
• switch.
En termes de syntaxe, PHP reste très conventionnel (voir l’exemple ci-après). Dans tous les cas de figure, une instruction simple peut être remplacée par un bloc d’instructions entre accolades.
// Test simple
if ( $i == 0 )
print 'I est nul';
// Test avec alternative
if ( $i == 3 )
print 'I vaut 3';
else
print 'I est différent de 3';
// Tests multiples
switch($i) {
case'3':
print 'I vaut 3';
break;
case'foo':
print 'I est une chaîne et vaut foo.';
break;
default:
print 'I est banal';
}
Dans le cas de l’instruction switch, on veillera à ne pas omettre break, sauf cas particulier. A défaut, plusieurs alternatives seront agglomérées.
switch($i) {
case'3':
print 'I vaut 3';
break;
case'foo':
print 'I est une chaîne et vaut foo.';
break;
default:
print 'I est banal';
}
// Si $i contient la valeur 3, affichera :
// I vaut 3
// mais aussi
//I est une chaîne et vaut foo
Les structures de boucles sont elles aussi, très conventionnelles :
for($i = 0; $i < 10; $i++) {
print "Le compteur vaut $in";
//...
}
$i = 0;
while ($i < 15) {
print "Le compteur vaut $in";
$i++;
}
On peut sortir du mode PHP à tout moment, pour revenir au contenu statique, ce qui peut surprendre de prime d’abord :
<table>
<?php
for($i = 0; $i < 10; $i++) {
?>
<tr><td><?php print "Le compteur vaut $in"; ?></td></tr>
<?php
}
?>
</table>
Ici, chaque itération de la boucle produit une ligne dans une table HTML. Cette segmentation du code peut être utilisée partout en PHP. On peut donc créer un squelette HTML et intercaler le code PHP nécessaire aux bons endroits. Toutefois, dans le cas particulier des boucles, cet usage n’est pas recommandé si l’on souhaite conserver le maximum de performances (et, accessoirement de lisibilité).
Il est enfin possible d’optimiser le parcours des tableaux de PHP avec des instructions particulièrement adaptées comme foreach et each :
$tableau = array( 'rouge' => 'v1', 9=> 'v2', 'foo' => 'v3' );
foreach($tableau as $valeur) {
print "Elément courant : $valeurn";
}
foreach($tableau as $cle => $valeur) {
print "Elément $cle du tableau : $valeurn";
}
reset($tableau);
while ( $ligne each($tableau) ) {
print "Elément $ligne[0] du tableau : $ligne[1]n";
}
reset($tableau);
while ( list($cle , $valeur) = each ($tableau) ) {
print "Elément $cle du tableau : $valeurn";
}
13/05 Les bases de PHP - Conclusion (3)
12/05 Les bases de PHP - Chapitre 6 (0)
10/05 Les bases de PHP - Chapitre 5 (4)
10/05 Les bases de PHP - Chapitre 4 (0)
10/05 Les bases de PHP - Chapitre 3 (2)
10/05 Les bases de PHP - Chapitre 2 (1)
10/05 Les bases de PHP - Chapitre 1 (9)
Edité le 10-05-2006 à 23:44:32 par Sabian
alors pourquoi pas :)