Bird
Raised Fist0
PHPprogramming~5 mins

Foreach loop for arrays in PHP

Choose your learning style10 modes available
Introduction

A foreach loop helps you go through each item in an array easily. It saves time and makes your code simple.

When you want to print all items in a shopping list.
When you need to check every student's grade in a class.
When you want to add a prefix to every word in a list.
When you want to count or process each element in a collection.
Syntax
PHP
<?php
$array = ["apple", "banana", "cherry"];
foreach ($array as $item) {
    // use $item here
}
?>

The $item variable holds the current element in the loop.

You can also get the key (index) with foreach ($array as $key => $value).

Examples
This prints each fruit name on a new line.
PHP
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
    echo $fruit . "\n";
}
?>
If the array is empty, the loop does not run at all.
PHP
<?php
$emptyArray = [];
foreach ($emptyArray as $item) {
    echo $item;
}
// Nothing happens because array is empty
?>
Works fine even if there is only one element.
PHP
<?php
$numbers = [10];
foreach ($numbers as $number) {
    echo $number . "\n";
}
?>
Shows how to get both index and value.
PHP
<?php
$colors = ["red", "green", "blue"];
foreach ($colors as $index => $color) {
    echo "Color at index $index is $color\n";
}
?>
Sample Program

This program shows the array before looping and then prints each item using foreach.

PHP
<?php
$shoppingList = ["milk", "bread", "eggs"];
echo "Before loop:\n";
print_r($shoppingList);
echo "\nUsing foreach loop to print items:\n";
foreach ($shoppingList as $item) {
    echo "Item: $item\n";
}
?>
OutputSuccess
Important Notes

Time complexity is O(n) because it visits each element once.

Space complexity is O(1) extra space since it uses the existing array.

Common mistake: modifying the array inside the foreach can cause unexpected results.

Use foreach when you want to read or process each element simply. Use for loop if you need index control or to modify array size.

Summary

Foreach loops make it easy to visit every item in an array.

You can get just the value or both key and value.

It works well even if the array is empty or has one item.

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