Understanding PHP Loops: For, While, Do-While Explained with Break and Continue

Saurabh DamaleSaurabh Damale
4 min read

Today, we will explore loops in PHP, which allow you to execute a block of code multiple times based on certain conditions. Loops are essential for tasks that require repetitive actions, such as iterating through arrays or processing data in batches. We will cover three types of loops in PHP: for, while, and do-while. Additionally, we will delve into the break and continue statements which help control loop execution.

Using break and continue

break Statement:

The break statement is used to exit a loop prematurely when a certain condition is met. It can be used in for, while, do-while, and switch statements.

Example:

<?php
    for ($i = 0; $i < 10; $i++) {
        if ($i == 5) {
            break; // Exit the loop when $i is 5
        }
        echo "The number is: $i <br>";
    }
    // Outputs: The number is: 0, The number is: 1, The number is: 2, The number is: 3, The number is: 4
?>

continue Statement:

The continue statement is used to skip the rest of the current iteration and proceed to the next iteration of the loop. It can be used in for, while, and do-while loops.

Example:

<?php
    for ($i = 0; $i < 10; $i++) {
        if ($i % 2 == 0) {
            continue; // Skip even numbers
        }
        echo "The number is: $i <br>";
    }
    // Outputs: The number is: 1, The number is: 3, The number is: 5, The number is: 7, The number is: 9
?>

Using break and continue with Loops

  1. for Loop

    The for loop is used when you know in advance how many times you want to execute a statement or a block of statements. It consists of three parts: initialization, condition, and increment/decrement.

    Example:

     <?php
         for ($i = 0; $i < 5; $i++) { // Initialize $i to 0; Run loop while $i is less than 5; Increment $i by 1 after each iteration
             echo "The number is: $i <br>"; // Output the current value of $i
         }
         // Outputs: The number is: 0, The number is: 1, The number is: 2, The number is: 3, The number is: 4
     ?>
    
  2. while Loop

    The while loop is used when you want to repeat a block of code as long as a condition is true. The condition is evaluated before the execution of the loop's body.

    Example:

     <?php
         $i = 0; // Initialize $i to 0
         while ($i < 5) { // Run loop while $i is less than 5
             echo "The number is: $i <br>"; // Output the current value of $i
             $i++; // Increment $i by 1 after each iteration
         }
         // Outputs: The number is: 0, The number is: 1, The number is: 2, The number is: 3, The number is: 4
     ?>
    
  3. do-while Loop

    The do-while loop is similar to the while loop, but it ensures that the block of code is executed at least once. The condition is evaluated after the execution of the loop's body.

    Example:

     <?php
         $i = 0; // Initialize $i to 0
         do {
             echo "The number is: $i <br>"; // Output the current value of $i
             $i++; // Increment $i by 1 after each iteration
         } while ($i < 5); // Run loop while $i is less than 5
         // Outputs: The number is: 0, The number is: 1, The number is: 2, The number is: 3, The number is: 4
     ?>
    

Tricky Questions

  1. What will be the output of the following code and why?

     <?php
         for ($i = 0; $i < 5; $i++) {
             for ($j = 0; $j < 3; $j++) {
                 if ($i == 2) {
                     break 2;
                 }
                 echo "i = $i, j = $j<br>";
             }
         }
     ?>
    
  2. What is the difference between while and do-while loops, and when would you use one over the other?

  3. How would you optimize the following code to avoid calling the count() function in each iteration of the loop?

     <?php
         $array = [1, 2, 3, 4, 5];
         for ($i = 0; $i < count($array); $i++) {
             echo $array[$i];
         }
     ?>
    
  4. What will be the output of the following code and why?

     <?php
         $i = 10;
         while ($i--) {
             if ($i == 5) {
                 continue;
             }
             echo $i . " ";
             if ($i == 2) {
                 break;
             }
         }
     ?>
    

Conclusion

Today, we explored the three main types of loops in PHP: for, while, and do-while. We also looked into the break and continue statements, which provide additional control over loop execution. Understanding how to use loops effectively is crucial for writing efficient and maintainable code.

0
Subscribe to my newsletter

Read articles from Saurabh Damale directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Saurabh Damale
Saurabh Damale

Hello there! ๐Ÿ‘‹ I'm Saurabh Kailas Damale, a passionate Full Stack Developer with a strong background in creating dynamic and responsive web applications. I thrive on turning complex problems into elegant solutions, and I'm always eager to learn new technologies and tools to enhance my development skills.