Maison >développement back-end >tutoriel php >Introduction détaillée à la comparaison des boucles For, While et Foreach en PHP

Introduction détaillée à la comparaison des boucles For, While et Foreach en PHP

黄舟
黄舟original
2017-03-23 09:51:041924parcourir

Dans le processus d'utilisation de PHP comme langage de programmation, nous rencontrons souvent des situations où nous devons exécuter un morceau de code plusieurs fois. Pour le moment, vous devez utiliser la boucle PHP. PHP propose trois types de boucles différents que vous pouvez utiliser dans des scénarios appropriés :

  • <a href="http://www.php.cn/wiki/125.html%20" target="_blank">Pour<code style="margin:0px; padding:0px; border:0px; color:rgb(153,0,0); font-size:11pt; font-family:Consolas,'Courier New',Courier,mono"><a href="http://www.php.cn/wiki/125.html" target="_blank">For</a> Boucle

  • <a href="http://www.php.cn/wiki/121.html" target="_blank ">While<code style="margin:0px; padding:0px; border:0px; color:rgb(153,0,0); font-size:11pt; font-family:Consolas,'Courier New',Courier,mono"><a href="http://www.php.cn/wiki/121.html" target="_blank">While</a> Boucle

  • <a href="http://www.php.cn/wiki/127.html" target=" _blank"> Foreach<code style="margin:0px; padding:0px; border:0px; color:rgb(153,0,0); font-size:11pt; font-family:Consolas,'Courier New',Courier,mono"><a href="http://www.php.cn/wiki/127.html" target="_blank">Foreach</a> Boucle

For boucle

la boucle for est utilisée pour déterminer votre Combien de fois l'expression doit être exécuté.

Syntaxe :

for (initialization; condition; increment)
{
    code to be executed;
}
<p style="margin-top: 6px;"><?phpfor($i=1; $i<=100000; $i++)<br/>{    echo "The number is " . $i . "<br>";<br>}?><br></p>

While Loop

L'expression while exécutera un bloc de code jusqu'à ce que l'instruction conditionnelle soit fausse. Les boucles While sont généralement mieux adaptées aux opérations liées aux bases de données.

Syntaxe :

while (condition)
{
    code to be executed;
}
<!--?php// If you had an array with fruit names and prices in you could use foreach$fruit = array( 
    "orange" =--> "5.00", 
    "apple" => "2.50", 
    "banana" => "3.99" ); 

foreach ($fruit as $key => $value) { 
    "$key is $value dollars 
";
} 

?>

Comparaison de trois types de boucles

Nous savons qu'il existe de nombreux types de boucles en PHP, Nous avons maintenant besoin de savoir quelles boucles sont les plus efficaces nous permettant d'écrire des applications plus rapides.

Commençons l'expérience pour comparaison.

While Loop vs. For Loop

<?php    // While Loop    $a=0;    while($a < 1000)
    {
        $a++;
    }?>

VS.

<?php    // For Loop    for($a = 0; $a < 1000;)
    {
        $a++;
    }?>

Ce qui précède expérience Il est prouvé que l'efficacité d'exécution de la boucle While est 19,71 % supérieure à celle de la boucle For. Par conséquent, il est recommandé d’utiliser des boucles while au lieu des boucles For autant que possible.

For Loop vs Foreach Loop

<?php   
 $test = array(1 => "cat", "dog" => 0, "red" => "green", 5 => 4, 3, "me");    
$keys = array_keys($test);    $size = sizeOf($keys);    for($a = 0; $a < $size; $a++)
    {        $t = $test[$keys[$a]];
    }?>

VS.

<?php    $
test = array(1 => "cat", "dog" => 0, "red" => "green", 5 => 4, 3, "me");   
 foreach($test as $t){
    
    }?>

L'expérience ci-dessus prouve que la boucle Foreach est 141,29 % plus rapide que la For boucle!

Conclusion

Ces boucles sont généralement utilisées pour atteindre différents objectifs, et nous savons maintenant comment chaque boucle fonctionne en termes d'efficacité d'exécution. Lorsque l’efficacité de l’exécution doit être recherchée, nous recommandons généralement d’utiliser des boucles while au lieu de boucles for. De même, entre la boucle foreach et la boucle loop, utilisez autant que possible la boucle foreach. Nous verrons ensuite comment utiliser efficacement les boucles dans les modèles. Veuillez rester à l'écoute.


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn