2009-05-06 7 views
3
<?php 

$i = 0; 

while(conditionals...) { 

if($i == 0) 
    print "<p>Show this once</p>"; 

print "<p>display everytime</p>"; 
$i++; 
} 
?> 

Est-ce que cela afficherait seulement "Afficher cette fois" la première fois et seulement cette heure, et afficherait "afficher à chaque fois" tant que la boucle while passe à travers?Afficher le texte une fois dans la boucle while de la première boucle

+2

pourquoi ne pas simplement le lancer vous-même et voir si cela fonctionne? –

+0

Je posais cette question pour une autre personne et leur envoyais l'URL pour voir la réponse. – Brad

Répondre

10

Oui, en effet.

Vous pouvez également combiner si et l'incrément, de sorte que vous n'oublierez pas incrémenter:

if (!$i++) echo "Show once."; 
2

Oui, tant que rien dans la boucle fixe $ i à 0

1

Oui il le fera, sauf si les conditions sont fausses depuis le début ou $ i a été mis à 0 dans la boucle

5

Plutôt que de l'incrémenter à chaque fois que la boucle tourne et gaspille de la ressource inutile, ce que vous pouvez faire est, si la valeur est 0 pour la première fois, imprimez la déclaration et faites la valeur du variable comme non nulle. Juste comme un drapeau. Condition, vous ne modifiez pas la valeur de la variable entre la boucle quelque part. Quelque chose comme ceci:

<?php 

    $i = 0; 

    while(conditionals...) { 

     if($i == 0){ 
     print "<p>Show this once</p>"; 
     $i=1; 
     } 

     print "<p>display everytime</p>"; 
    } 
?> 
+0

Ajout d'une valeur non nulle à l'intérieur de la boucle a travaillé pour moi !! Je vous remercie –

Questions connexes