PHP foreach loop

The foreach loop is used to traverse the array elements. It works only on array and object. It will issue an error if you try to use it with the variables of different datatype.

The foreach loop works on elements basis rather than index. It provides an easiest way to iterate the elements of an array.

In foreach loop, we don't need to increment the value.

Syntax

snippet
foreach ($array as $value) {
	//code to be executed
}

There is one more syntax of foreach loop.

Syntax

snippet
foreach ($array as $key => $element) { 
	//code to be executed
}

Flowchart

php for loop flowchart

Example 1:

PHP program to print array elements using foreach loop.

snippet
<?php
	//declare array
	$season = array ("Summer", "Winter", "Autumn", "Rainy");
	
	//access array elements using foreach loop
	foreach ($season as $element) {
		echo "$element";
		echo "</br>";
	}
?>

Output:

Output
Summer Winter Autumn Rainy

Example 2:

PHP program to print associative array elements using foreach loop.

snippet
<?php
	//declare array
	$employee = array (
		"Name" => "Alex",
		"Email" => "alex_jtp@gmail.com",
		"Age" => 21,
		"Gender" => "Male"
	);
	
	//display associative array element through foreach loop
	foreach ($employee as $key => $element) {
		echo $key . " : " . $element;
		echo "</br>";	
	}
?>

Output:

Output
Name : Alex Email : alex_jtp@gmail.com Age : 21 Gender : Male

Example 3:

Multi-dimensional array

snippet
<?php
	//declare multi-dimensional array
	$a = array();
	$a[0][0] = "Alex";
	$a[0][1] = "Bob";
	$a[1][0] = "Camila";
	$a[1][1] = "Denial";
	
	//display multi-dimensional array elements through foreach loop
	foreach ($a as $e1) {
		foreach ($e1 as $e2) {
			echo "$e2\n";
		}
	}
?>

Output:

Output
Alex Bob Camila Denial

Example 4:

Dynamic array

snippet
<?php
	//dynamic array
	foreach (array ('r', 'o', 'o', 'k', 'i', 'e', 'n', 'e', 'r', 'd') as $elements) {
		echo "$elements\n";
	}
?>

Output:

Output
r o o k i e n e r d
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +