Bird
Raised Fist0
PHPprogramming~20 mins

Continue statement with levels in PHP - Mini Project: Build & Apply

Choose your learning style10 modes available
Continue Statement with Levels in PHP
📖 Scenario: Imagine you are organizing a small event with multiple sessions. You want to skip certain sessions or parts of sessions based on specific conditions.
🎯 Goal: You will write a PHP script that uses nested loops to represent sessions and their parts. You will use the continue statement with levels to skip parts or entire sessions.
📋 What You'll Learn
Create a nested loop structure with two levels: sessions and parts
Use a continue statement with a level to skip a part inside a session
Use a continue statement with a level to skip an entire session
Print the parts that are not skipped
💡 Why This Matters
🌍 Real World
Skipping parts of nested loops is useful when processing multi-level data, like events with sessions and parts, or files with folders and subfolders.
💼 Career
Understanding loop control with levels helps in writing efficient PHP scripts for web applications, data processing, and automation tasks.
Progress0 / 4 steps
1
Create nested loops for sessions and parts
Create a for loop with variable $session from 1 to 3 and inside it create another for loop with variable $part from 1 to 4.
PHP
Hint

Use two for loops, one inside the other, with the exact variable names $session and $part.

2
Add a condition to skip part 3 in session 2
Add an if statement inside the inner loop to check if $session is 2 and $part is 3. Use continue 1; to skip only this part.
PHP
Hint

Use continue 1; to skip only the current iteration of the inner loop.

3
Add a condition to skip entire session 3
Add an if statement inside the inner loop to check if $session is 3. Use continue 2; to skip the entire session including all its parts.
PHP
Hint

Use continue 2; to skip the current iteration of the outer loop from inside the inner loop.

4
Print the session and part numbers that are not skipped
Inside the inner loop, after the continue statements, add a print statement to display "Session $session - Part $part\n".
PHP
Hint

Use print("Session $session - Part $part\n"); to show the current session and part.

Practice

(1/5)
1.

What does the continue statement do inside a loop in PHP?

easy
A. It skips the rest of the current loop iteration and moves to the next iteration.
B. It stops the entire loop immediately.
C. It restarts the whole program.
D. It pauses the loop for a moment.

Solution

  1. Step 1: Understand the role of continue in loops

    The continue statement tells the loop to skip the remaining code in the current iteration.
  2. Step 2: What happens after continue?

    The loop immediately moves to the next iteration, not stopping the entire loop.
  3. Final Answer:

    It skips the rest of the current loop iteration and moves to the next iteration. -> Option A
  4. Quick Check:

    continue skips current iteration [OK]
Hint: Remember: continue skips current iteration only [OK]
Common Mistakes:
  • Thinking continue stops the whole loop
  • Confusing continue with break
  • Assuming continue pauses the program
2.

Which of the following is the correct syntax to skip the current iteration of the outer loop in nested loops using continue in PHP?

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        if ($j == 1) {
            // What continue statement skips outer loop iteration?
        }
    }
}
easy
A. continue 2;
B. continue 1;
C. continue;
D. continue 3;

Solution

  1. Step 1: Understand nested loop levels

    There are two loops: outer ($i) and inner ($j). To skip outer loop iteration, we use continue 2;.
  2. Step 2: Apply continue n; syntax

    continue 2; skips the current iteration of the second enclosing loop (outer loop).
  3. Final Answer:

    continue 2; -> Option A
  4. Quick Check:

    continue 2; skips outer loop iteration [OK]
Hint: Use continue n; where n = loop level to skip [OK]
Common Mistakes:
  • Using continue without number skips inner loop only
  • Using continue 1; which skips inner loop only
  • Using continue 3; which is invalid here
3.

What will be the output of the following PHP code?

for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        if ($j == 2) {
            continue 2;
        }
        echo "$i$j ";
    }
}
medium
A. 11 13 12 22 32
B. 11 21 31
C. 11 12 13 21 22 23 31 32 33
D. 11 13 21 23 31 33

Solution

  1. Step 1: Analyze the nested loops and continue 2;

    When $j == 2, continue 2; skips the rest of the inner and outer loop iteration, moving to next $i.
  2. Step 2: Trace output for each iteration

    For $i=1: $j=1 prints '11 ', $j=2 triggers continue 2; skips to $i=2.
    For $i=2: $j=1 prints '21 ', $j=2 triggers continue 2; skips to $i=3.
    For $i=3: $j=1 prints '31 ', $j=2 triggers continue 2; loop ends.
  3. Final Answer:

    11 21 31 -> Option B
  4. Quick Check:

    continue 2 skips outer loop iteration [OK]
Hint: continue 2 skips outer loop iteration immediately [OK]
Common Mistakes:
  • Assuming continue 2 skips only inner loop
  • Expecting all combinations printed
  • Ignoring that continue 2 skips outer loop iteration
4.

Find the error in this PHP code snippet that tries to skip the outer loop iteration when $j == 2:

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        if ($j == 2) {
            continue 3;
        }
        echo "$i$j ";
    }
}
medium
A. The continue statement should be break 3; instead.
B. There is no error; the code runs fine.
C. The echo statement is inside the wrong loop.
D. Using continue 3; causes a fatal error because only 2 loops exist.

Solution

  1. Step 1: Count the nested loops

    There are only 2 loops: outer ($i) and inner ($j).
  2. Step 2: Check the continue level

    continue 3; tries to skip 3 levels, but only 2 exist, causing a fatal error.
  3. Final Answer:

    Using continue 3; causes a fatal error because only 2 loops exist. -> Option D
  4. Quick Check:

    continue n must not exceed loop depth [OK]
Hint: continue n; must not exceed nested loop count [OK]
Common Mistakes:
  • Using continue with number larger than loop depth
  • Confusing continue with break
  • Ignoring PHP fatal error on invalid continue level
5.

You want to print all pairs (i, j) for i and j from 1 to 3, but skip printing pairs where j == 2 and also skip the entire outer loop iteration if i == 2. Which code snippet correctly uses continue with levels to achieve this?

hard
A.
for ($i = 1; $i <= 3; $i++) {
    if ($i == 2) continue;
    for ($j = 1; $j <= 3; $j++) {
        if ($j == 2) continue;
        echo "($i,$j) ";
    }
}
B.
for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        if ($j == 2) continue;
        if ($i == 2) continue 2;
        echo "($i,$j) ";
    }
}
C.
for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        if ($i == 2) continue 2;
        if ($j == 2) continue;
        echo "($i,$j) ";
    }
}
D.
for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        if ($i == 2 || $j == 2) continue 2;
        echo "($i,$j) ";
    }
}

Solution

  1. Step 1: Understand the requirements

    Skip printing pairs where j == 2, and skip entire outer loop iteration if i == 2.
  2. Step 2: Analyze each option

    for ($i = 1; $i <= 3; $i++) {
        if ($i == 2) continue;
        for ($j = 1; $j <= 3; $j++) {
            if ($j == 2) continue;
            echo "($i,$j) ";
        }
    }
    skips i == 2 outer loop correctly but skips j == 2 only in inner loop.
    for ($i = 1; $i <= 3; $i++) {
        for ($j = 1; $j <= 3; $j++) {
            if ($j == 2) continue;
            if ($i == 2) continue 2;
            echo "($i,$j) ";
        }
    }
    tries to continue 2 inside inner loop after j check, but order is wrong.
    for ($i = 1; $i <= 3; $i++) {
        for ($j = 1; $j <= 3; $j++) {
            if ($i == 2) continue 2;
            if ($j == 2) continue;
            echo "($i,$j) ";
        }
    }
    first skips outer loop iteration if i == 2 using continue 2;, then skips j == 2 in inner loop.
    for ($i = 1; $i <= 3; $i++) {
        for ($j = 1; $j <= 3; $j++) {
            if ($i == 2 || $j == 2) continue 2;
            echo "($i,$j) ";
        }
    }
    skips outer loop iteration if either i == 2 or j == 2, which is incorrect.
  3. Final Answer:

    Option C correctly uses continue 2; to skip outer loop when i == 2 and continue to skip j == 2. -> Option C
  4. Quick Check:

    Use continue 2; to skip outer loop inside inner loop [OK]
Hint: Place continue 2; before continue for inner loop skip [OK]
Common Mistakes:
  • Skipping outer loop for wrong conditions
  • Using continue 2; incorrectly for inner loop skip
  • Combining conditions incorrectly causing wrong skips
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard