Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

The PHP foreach Loop

PHP foreach Loop

Mastering the Loop: A Dive into PHP foreach

The PHP foreach loop is a powerful tool for iterating through arrays and traversing their elements. Its concise syntax and ease of use make it a favorite among developers for performing various tasks, from simple data manipulation to complex conditional processing.

Understanding the Basics

The foreach loop works by iterating over each element in an array, assigning it to a temporary variable in each iteration. This allows you to access and manipulate individual elements efficiently.

Here’s the basic syntax:

foreach ($array as $value) {
// Code to be executed for each element
  • $array: The array to iterate over.
  • $value: Variable holding the current element in each iteration.

This basic structure allows you to access the element itself within the loop body.

Looping Through Associative Arrays

The foreach loop also shines when dealing with associative arrays, where each element has a key-value pair. You can access both the key and the value within the loop using a slightly different syntax:

foreach ($array as $key => $value) {
// Code to be executed for each key-value pair
echo "Key: $key, Value: $value";

This expanded syntax allows you to utilize the element’s key in addition to its value, enabling you to perform operations based on both.

Unpacking Nested Arrays

The foreach loop can handle nested arrays with ease. You can use the list() function to unpack nested arrays and assign their elements to separate variables:

$nestedArray = [
[1, 2, 3],
[4, 5, 6],

foreach ($nestedArray as $key => list($value1, $value2, $value3)) {
echo "Key: $key, Value1: $value1, Value2: $value2, Value3: $value3";

This example demonstrates the ability to unpack a 2-dimensional array into three separate variables for each iteration.

Breaking Free with Break and Continue

The foreach loop provides convenient ways to control its flow. You can use the break statement to exit the loop entirely and the continue statement to skip the current iteration and move to the next.

foreach ($array as $value) {
if ($value > 10) {
break; // Exit the loop if value is greater than 10
// ...
if ($value % 2 == 0) {
continue; // Skip even values and move to the next
// ...

These control flow statements offer flexibility and enable you to tailor the loop’s behavior to your specific needs.

Real-World Example: Filtering Products

Imagine you have an array of products with their names and prices. You want to filter and display only products with a price below a certain threshold. Here’s how you can achieve this using a foreach loop:

$products = [
['name' => 'T-Shirt', 'price' => 15],
['name' => 'Hoodie', 'price' => 25],
['name' => 'Sweatshirt', 'price' => 30],

$maxPrice = 20;

echo "Products below $maxPrice:\n";

foreach ($products as $product) {
if ($product['price'] < $maxPrice) {
echo "- {$product['name']}\n";

This example demonstrates how you can use the foreach loop to iterate over an array, filter elements based on a condition, and perform specific actions on the matching elements.


The foreach loop is an essential tool for every PHP developer. By mastering its syntax and functionalities, you can efficiently iterate through arrays, manipulate data, and build robust and flexible applications. Remember to practice and experiment with different scenarios to fully harness the power of this versatile loop.

Scroll to Top