Bird
Raised Fist0
PHPprogramming~10 mins

Foreach loop for arrays in PHP - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Foreach loop for arrays
Start with array
↓
Pick first element
↓
Execute loop body with element
↓
More elements?
Yes→Pick next element
No +---> Back to Execute loop body↓
End loop
↩No +---> Back to Execute loop body
The foreach loop picks each element from the array one by one and runs the loop body using that element until all elements are processed.
Execution Sample
PHP
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
    echo $fruit . "\n";
}
?>
This code loops through each fruit in the array and prints its name on a new line.
Execution Table
IterationCurrent Element ($fruit)ActionOutput
1"apple"Print $fruitapple
2"banana"Print $fruitbanana
3"cherry"Print $fruitcherry
--No more elements, exit loop-
💡 All elements processed, foreach loop ends
Variable Tracker
VariableStartAfter 1After 2After 3Final
$fruitundefined"apple""banana""cherry""cherry" (holds last value)
Key Moments - 3 Insights
Why does $fruit change each iteration?
Because foreach assigns the current array element to $fruit at each iteration, as shown in execution_table rows 1 to 3.
What happens after the last element is processed?
The loop stops and $fruit holds the value of the last element ("cherry"), as shown in the variable_tracker final value.
Can foreach modify the original array elements?
Not in this example because $fruit is a copy of each element. To modify, you need to use references (not shown here).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of $fruit during iteration 2?
A"apple"
B"banana"
C"cherry"
Dundefined
💡 Hint
Check the 'Current Element ($fruit)' column at iteration 2 in the execution_table.
At which iteration does the foreach loop stop?
AAfter iteration 1
BAfter iteration 2
CAfter iteration 3
DIt never stops
💡 Hint
Look at the exit note and the last iteration row in the execution_table.
If the array had 5 elements, how many times would the loop body run?
A5 times
B3 times
C4 times
DDepends on the element values
💡 Hint
Each element in the array causes one loop iteration, as shown in the concept_flow and execution_table.
Concept Snapshot
foreach ($array as $value) {
    // code using $value
}

- Loops over each element in $array
- $value holds current element
- Runs loop body once per element
- Stops after last element
- Simple way to read arrays
Full Transcript
The foreach loop in PHP goes through each element of an array one by one. It assigns the current element to a variable, here called $fruit, and runs the code inside the loop using that variable. This continues until all elements have been used. In the example, the loop prints each fruit name on its own line. After the last element, the loop ends and the variable holds the value of the last element. This is a simple way to read all items in an array without needing to manage indexes manually.

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