Voici un morceau de code vous permettant de tester les resultats des vitesses des boucles.
//----------------------------------
//test boucle FOR
$str="";
$timearray = explode(" ", microtime());
$time1 = $timearray[0];
for ($i=0;$i<20000;$i++)
$str.=$i."\n";
$timearray = explode(" ", microtime());
$time2 = $timearray[0];
echo "for: ".$time1." ".$time2." ---- ".($time2-$time1)."
";
//----------------------------------
//test boucle FOREACH
$str="";
for ($i=0;$i<20000;$i++)
$tab[$i]=$i;
$timearray = explode(" ", microtime());
$time1 = $timearray[0];
foreach($tab as $key => $val)
$str.=$val."\n";
$timearray = explode(" ", microtime());
$time2 = $timearray[0];
echo "foreach: ".$time1." ".$time2." ---- ".($time2-$time1)."
";
//----------------------------------
//test boucle DOWHILE
$str="";
$timearray = explode(" ", microtime());
$time1 = $timearray[0];
do {
$str.=$i."\n";
$i++;
} while ($i<20000);
$timearray = explode(" ", microtime());
$time2 = $timearray[0];
echo "dowhile: ".$time1." ".$time2." ---- ".($time2-$time1)."
";
//----------------------------------
//test boucle WHILE
$str="";
$timearray = explode(" ", microtime());
$time1 = $timearray[0];
while ($i<20000){
$str.=$i."\n";
$i++;
}
$timearray = explode(" ", microtime());
$time2 = $timearray[0];
echo "while: ".$time1." ".$time2." ---- ".($time2-$time1)."
";
Notre test a été effectué sur un ordi windows serveur 2003 et pas sur notre serveur de prod sous linux
Les résultats nous ont montré :
Restaurant japonais - Restaurant chinois - Restaurant thailandais - Restaurant italien - Restaurant marocain - Restaurant francais - Voyage Kyoto - Voyage Caraibes - Weather Tokyo - Location riad marrakech