What is the use of foreach in php?

PHP foreach Loop

The foreach loop - Loops through a block of code for each element in an array.

The PHP foreach Loop

The foreach loop works only on arrays, and is used to loop through each key/value pair in an array.

Syntax

foreach [$array as$value] {
  code to be executed;
}

For every loop iteration, the value of the current array element is assigned to $value and the array pointer is moved by one, until it reaches the last array element.

Examples

The following example will output the values of the given array [$colors]:

Example

Try it Yourself »

The following example will output both the keys and the values of the given array [$age]:

Example

Try it Yourself »

You will learn more about arrays in the PHP Arrays chapter.



In this tutorial, we look at the PHP foreach[] loop. We also look at how to use it while working with an indexed or associative array.

Table of Contents - PHP foreach:

  • What is foreach[]?
  • Code and Explanation
  • Indexed arrays
  • Associative arrays
  • Closing thoughts

What is foreach in PHP?

The foreach[] method is used to loop through the elements in an indexed or associative array. It can also be used to iterate over objects. This allows you to run blocks of code for each element.

Syntax of PHP foreach[]:

The foreach[] method has two syntaxes, one for each type of array.

The syntax for indexed arrays is as given in the following code block:

foreach [iterable as $value]
    statement

The syntax for associative arrays:

foreach [iterable as $key => $value]
    statement

Here, “Iterable” is the required parameter. It is the array or the variable containing the array. “$value” is a variable that stores the current element in each iteration.

Associated array, uses keys and values, and hence the $key & $values in the second syntax represent the same accordingly.

Code & Explanation:

In this section, we first look at how the foreach[] function works on an indexed array followed by which we look at it’s working on an associative array.

PHP Foreach[] on Indexed arrays:


The output of the above code snippet would be:

Hire
Top
Freelance
developers

PHP Foreach[] on an Associative array:

 

The output of the above code snippet would be:

name: Eric
email: [email protected]
age: 22
gender: male

Now let’s look at a case where we pass a second argument.

As you can see the key and the values of the associative array were printed. Additionally, we replaced “=>” with a “:” to make it more readable.

Closing thoughts:

The foreach[] method would return an error in case you use it on variables with a different data type. Additionally, the foreach[] method does not modify the values of the internal pointer.

Once you have understood the working to the foreach[] method try working with the for loop.

[PHP 4, PHP 5, PHP 7, PHP 8]

The foreach construct provides an easy way to iterate over arrays. foreach works only on arrays and objects, and will issue an error when you try to use it on a variable with a different data type or an uninitialized variable. There are two syntaxes:

foreach [iterable_expression as $value]
    statement
foreach [iterable_expression as $key => $value]
    statement

The first form traverses the iterable given by iterable_expression. On each iteration, the value of the current element is assigned to $value.

The second form will additionally assign the current element's key to the $key variable on each iteration.

Note that foreach does not modify the internal array pointer, which is used by functions such as current[] and key[].

It is possible to customize object iteration.

In order to be able to directly modify array elements within the loop precede $value with &. In that case the value will be assigned by reference.

Warning

Reference of a $value and the last array element remain even after the foreach loop. It is recommended to destroy it by unset[]. Otherwise you will experience the following behavior:

It is possible to iterate a constant array's value by reference:

Note:

foreach does not support the ability to suppress error messages using @.

Some more examples to demonstrate usage:

Unpacking nested arrays with list[]

[PHP 5 >= 5.5.0, PHP 7, PHP 8]

It is possible to iterate over an array of arrays and unpack the nested array into loop variables by providing a list[] as the value.

For example:

The above example will output:

You can provide fewer elements in the list[] than there are in the nested array, in which case the leftover array values will be ignored:

The above example will output:

A notice will be generated if there aren't enough array elements to fill the list[]:

The above example will output:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C: 

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C: 

Sanusi Hassan

1 day ago

destructure array elements

you can unpac nested array elements using the following

What is the function of foreach in PHP?

What is foreach in PHP? The foreach[] method is used to loop through the elements in an indexed or associative array. It can also be used to iterate over objects. This allows you to run blocks of code for each element.

What is the use of foreach?

Definition and Usage The forEach[] method calls a function for each element in an array. The forEach[] method is not executed for empty elements.

Where do we use foreach loop in PHP?

The for and foreach loop can be used to iterate over the elements. for loop: The for loop works at the end of the given condition. It is used for the implementation of variables and works in a single way. The for loop does not work in the case of associative arrays.

What is foreach of array in PHP?

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.

Chủ Đề