Hướng dẫn php foreach get key

[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: 

There are no user contributed notes for this page.

Chủ Đề