Display text once within while loop on the first loop

21,920

Solution 1

Yes, indeed.

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

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

Solution 2

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>";
   }
?>

Solution 3

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

Solution 4

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

Share:
21,920
agucho
Author by

agucho

Web Application Developer, using PHP, CodeIgniter, Laravel, jQuery, html, css, js, Twitter Bootstrap, LESS, MySQL, rsync, git, ExpressionEngine add-on developer

Updated on June 05, 2020

Comments

  • agucho
    agucho almost 4 years
    <?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?

  • AndrewL64
    AndrewL64 almost 9 years
    Adding a non-zero value inside the loop worked for me!! Thank you