Brad
Brad

Reputation: 12262

Display text once within while loop on the first loop

<?php

$i = 0;

while(conditionals...) {

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

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

Would this only show "Show this once" the first time and only that time, and show the "display everytime" as long as the while loop goes thru?

Upvotes: 4

Views: 22810

Answers (4)

Sumeet Chawla
Sumeet Chawla

Reputation: 86

Rather than incrementing it every time the loop runs and wasting useless resource, what you can do is, if the value is 0 for the first time, then print the statement and make the value of the variable as non-zero. Just like a flag. Condition, you are not changing the value of the variable in between the loop somewhere. Something like this:

<?php

   $i = 0;

   while(conditionals...) {

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

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

Upvotes: 6

Nadia Alramli
Nadia Alramli

Reputation: 114933

Yes it will, unless the conditions are false from the start or $i was set to 0 inside the loop

Upvotes: 1

workmad3
workmad3

Reputation: 25677

Yes, as long as nothing in the loop sets $i back to 0

Upvotes: 2

pts
pts

Reputation: 87221

Yes, indeed.

You can also combine the if and the increment, so you won't forget to increment:

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

Upvotes: 12

Related Questions