Bird
Raised Fist0
PHPprogramming~20 mins

Foreach loop for arrays in PHP - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Foreach Loop Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of foreach loop with associative array
What is the output of this PHP code?
PHP
<?php
$fruits = ['a' => 'Apple', 'b' => 'Banana', 'c' => 'Cherry'];
foreach ($fruits as $key => $value) {
    echo "$key:$value ";
}
?>
Aa:Apple b:Banana c:Cherry
B0:Apple 1:Banana 2:Cherry
CApple Banana Cherry
Da b c
Attempts:
2 left
💡 Hint
Remember foreach can give both key and value when looping associative arrays.
❓ Predict Output
intermediate
1:30remaining
Count iterations in foreach loop
What is the value of $count after this code runs?
PHP
<?php
$numbers = [10, 20, 30, 40];
$count = 0;
foreach ($numbers as $num) {
    $count++;
}
echo $count;
?>
A3
B4
C0
DError
Attempts:
2 left
💡 Hint
Count increases once per loop iteration.
🔧 Debug
advanced
1:30remaining
Identify error in foreach loop syntax
Which option shows the code that will cause a syntax error?
A<?php foreach ($arr as $value) { echo $value; } ?>
B<?php foreach ($arr as $value) echo $value; ?>
C<?php foreach $arr as $value { echo $value; } ?>
D<?php foreach ($arr as $key => $value) { echo $key; } ?>
Attempts:
2 left
💡 Hint
Check the parentheses and keywords in foreach syntax.
❓ Predict Output
advanced
2:00remaining
Output with nested foreach loops
What is the output of this PHP code?
PHP
<?php
$matrix = [[1,2],[3,4]];
foreach ($matrix as $row) {
    foreach ($row as $num) {
        echo $num;
    }
}
?>
A1 2 3 4
B1,2,3,4
CArrayArray
D1234
Attempts:
2 left
💡 Hint
Inner loop prints each number without spaces.
🧠 Conceptual
expert
2:30remaining
Behavior of foreach with reference variable
What will be the output of this PHP code?
PHP
<?php
$arr = [1, 2, 3];
foreach ($arr as &$value) {
    $value *= 2;
}
foreach ($arr as $value) {
    echo $value . ' ';
}
?>
A2 4 4
B2 4 6 3
C2 4 6
D1 2 3
Attempts:
2 left
💡 Hint
Remember that foreach by reference leaves the last reference variable linked.

Practice

(1/5)
1. What does the foreach loop do in PHP when used with an array?
easy
A. It only visits the first item in the array.
B. It visits each item in the array one by one.
C. It deletes all items in the array.
D. It reverses the order of the array.

Solution

  1. Step 1: Understand the purpose of foreach

    The foreach loop is designed to go through each element in an array, one at a time.
  2. Step 2: Compare options with foreach behavior

    Only It visits each item in the array one by one. correctly describes visiting each item. Others describe actions foreach does not perform.
  3. Final Answer:

    It visits each item in the array one by one. -> Option B
  4. Quick Check:

    foreach loops visit all items [OK]
Hint: Remember: foreach loops through all array items [OK]
Common Mistakes:
  • Thinking foreach only visits first item
  • Confusing foreach with array modification functions
  • Assuming foreach changes array order
2. Which of the following is the correct syntax to loop through an array $colors using foreach to get each value?
easy
A. foreach ($colors in $color) { echo $color; }
B. foreach $colors as $color { echo $color; }
C. foreach ($colors as $color) { echo $color; }
D. foreach ($color as $colors) { echo $color; }

Solution

  1. Step 1: Identify correct foreach syntax

    The correct syntax is: foreach (array as value) { ... } with parentheses and 'as' keyword.
  2. Step 2: Check each option

    foreach ($colors as $color) { echo $color; } matches correct syntax. Options A, B, and D have syntax errors or wrong order.
  3. Final Answer:

    foreach ($colors as $color) { echo $color; } -> Option C
  4. Quick Check:

    Correct foreach syntax uses 'foreach (array as value)' [OK]
Hint: Use parentheses and 'as' keyword in foreach [OK]
Common Mistakes:
  • Missing parentheses around array and variable
  • Using 'in' instead of 'as'
  • Swapping variable and array positions
3. What will be the output of this PHP code?
$fruits = ['apple', 'banana', 'cherry'];
foreach ($fruits as $fruit) {
    echo $fruit . ' ';
}
medium
A. apple banana cherry
B. apple, banana, cherry
C. Array
D. applebanana cherry

Solution

  1. Step 1: Understand the loop output

    The foreach loop prints each fruit followed by a space.
  2. Step 2: Combine printed values

    Output will be 'apple ' then 'banana ' then 'cherry ' concatenated.
  3. Final Answer:

    apple banana cherry -> Option A
  4. Quick Check:

    Each fruit printed with space [OK]
Hint: Look for spaces after each echo in loop [OK]
Common Mistakes:
  • Expecting commas instead of spaces
  • Thinking array prints as string
  • Missing spaces between words
4. Find the error in this PHP code snippet:
$numbers = [1, 2, 3];
foreach ($numbers $num) {
    echo $num;
}
medium
A. Missing 'as' keyword in foreach loop.
B. Array should be a string.
C. Variable $num is not defined.
D. Echo statement is incorrect.

Solution

  1. Step 1: Check foreach syntax

    foreach requires 'as' keyword between array and variable.
  2. Step 2: Identify missing keyword

    The code misses 'as' between $numbers and $num, causing syntax error.
  3. Final Answer:

    Missing 'as' keyword in foreach loop. -> Option A
  4. Quick Check:

    foreach needs 'as' keyword [OK]
Hint: Always include 'as' in foreach syntax [OK]
Common Mistakes:
  • Omitting 'as' keyword
  • Confusing variable and array order
  • Assuming variables need prior declaration
5. Given the array $items = ['a' => 1, 'b' => 0, 'c' => 3, 'd' => null];, which foreach loop will print only keys with truthy values?
hard
A. foreach ($items as $key => $value) { echo $key; }
B. foreach ($items as $key => $value) { if ($value === 0) echo $key; }
C. foreach ($items as $value) { if ($value) echo $value; }
D. foreach ($items as $key => $value) { if ($value) echo $key; }

Solution

  1. Step 1: Understand truthy values in PHP

    Values like 1 and 3 are truthy; 0 and null are falsy.
  2. Step 2: Analyze each loop's condition

    foreach ($items as $key => $value) { if ($value) echo $key; } prints keys only if value is truthy, matching requirement. Others print keys regardless or check wrong condition.
  3. Final Answer:

    foreach ($items as $key => $value) { if ($value) echo $key; } -> Option D
  4. Quick Check:

    Check value truthiness before echo key [OK]
Hint: Use if ($value) to filter truthy values [OK]
Common Mistakes:
  • Printing keys without condition
  • Checking for zero instead of truthy
  • Not using key => value syntax
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