Maison  >  Article  >  développement back-end  >  Contrôle de flux PHP pour l'instruction

Contrôle de flux PHP pour l'instruction

不言
不言original
2018-05-04 09:38:431501parcourir

Cet article présente principalement l'instruction for sur le contrôle des processus PHP, qui a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Cet article est destiné à une utilisation de base. Apprentissage, experts merci de fermer cette page

Il faut 7 minutes pour lire cet article Est-ce difficile de comprendre ceux qui ont des difficultés ?

(PHP 4, PHP 5, PHP 7)

la boucle for est la structure de boucle la plus complexe en PHP. Son comportement est similaire à celui du langage C. La syntaxe d'une boucle for est la suivante :

for (expr1; expr2; expr3)
    statement

La première expression () est évaluée (et exécutée) de manière inconditionnelle une fois avant le début de la boucle.

est évalué avant chaque boucle. Si la valeur est TRUE, continuez la boucle et exécutez les instructions de boucle imbriquées. Si la valeur est FALSE, terminez la boucle.

est évalué (et exécuté) après chaque boucle.

Chaque expression peut être vide ou inclure plusieurs expressions séparées par des virgules. Dans expression , toutes les expressions séparées par des virgules sont évaluées, mais seul le dernier résultat est pris en compte. Vide signifie que la boucle continuera indéfiniment (comme C, PHP considère implicitement que sa valeur est TRUE). Cela n'est peut-être pas aussi inutile que vous le pensez, car vous souhaitez souvent utiliser une instruction conditionnelle break pour terminer la boucle au lieu d'utiliser la vérification de la vérité de l'expression for.

Considérez les exemples suivants, qui affichent tous deux les chiffres de 1 à 10 :

<?php
/* example 1 */

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

/* example 2 */

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

/* example 3 */

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

/* example 4 */

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

Bien sûr, le premier exemple semble le plus soigné (ou certains diraient le quatrième), mais le user Vous constaterez peut-être que l'utilisation d'expressions vides dans les boucles for est pratique dans de nombreuses situations.

PHP prend également en charge une syntaxe alternative pour les boucles for utilisant des deux-points.

for (expr1; expr2; expr3):
    statement;
    ...
endfor;

Parfois, il est souvent nécessaire de parcourir un tableau comme dans l'exemple suivant :

<?php
/*
 * 此数组将在遍历的过程中改变其中某些单元的值
 */
$people = Array(
        Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
        Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863)
        );

for($i = 0; $i < count($people); ++$i)
{
    $people[$i][&#39;salt&#39;] = rand(000000, 999999);
}
?>

Le code ci-dessus peut s'exécuter très lentement Parce que la longueur du tableau doit être calculée à chaque fois qu'il boucle. Étant donné que la longueur du tableau reste toujours la même, une variable intermédiaire peut être utilisée pour stocker la longueur du tableau à des fins d'optimisation au lieu d'appeler constamment count() :

<?php
$people = Array(
        Array(&#39;name&#39; => &#39;Kalle&#39;, &#39;salt&#39; => 856412), 
        Array(&#39;name&#39; => &#39;Pierre&#39;, &#39;salt&#39; => 215863)
        );

for($i = 0, $size = count($people); $i < $size; ++$i)
{
    $people[$i][&#39;salt&#39;] = rand(000000, 999999);
}
?>

Recommandations associées :

contrôle des processus php en cours de réalisation

Contrôle des processus PHP elseif/else if

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