for

(PHP 4, PHP 5)

Les boucles for sont les boucles les plus complexes en PHP. Elles fonctionnent comme les boucles for du langage C. La syntaxe des boucles for est la suivante :

<?php
/* exemple 1 */

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

/* exemple 2 */

for ($i = 1; ; $i++) {
	if ($i > 10) {
		break;
	}
	echo $i;
}

/* exemple 3 */

$i = 1;
for (; ; ) {
	if ($i > 10) {
		break;
	}
	echo $i;
	$i++;
}

/* exemple 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Bien évidemment, le premier exemple est le plus simple de tous (ou peut être le quatrième), mais vous pouvez aussi penser qu'utiliser une expression vide dans une boucle for peut être utile parfois.

PHP supporte aussi la syntaxe alternative suivante pour les boucles for :

<?php
/*
 * Ceci est un tableau avec des données que nous voulons modifier
 * au long de la boucle
 */
$people = array(
	array('name' => 'Kalle', 'salt' => 856412),
	array('name' => 'Pierre', 'salt' => 215863)
);

for($i = 0; $i < count($people); ++$i) {
	$people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

Ce code peut être lent parce qu'il doit calculer la taille du tableau à chaque itération. Etant donné que la taille ne change jamais, il peut facilement être optimisé en utilisant une variable intermédiaire pour stocker la taille au lieu d'appeler de façon répétitive la fonction count() :

<?php
$people = array(
	array('name' => 'Kalle', 'salt' => 856412),
	array('name' => 'Pierre', 'salt' => 215863)
);

for($i = 0, $size = count($people); $i < $size; ++$i) {
	$people[$i]['salt'] = mt_rand(000000, 999999);
}
?>

LoadingChargement en cours