The each() function returns the current element key and value, and moves the internal pointer forward.
PHP each() Function has the following syntax.
each(array)
Parameter | Is Required | Description |
---|---|---|
array | Required. | Specifies the array to use |
Method | Description |
---|---|
current() | returns the value of the current element in an array |
end() | moves the pointer to, and outputs, the last element in the array |
next() | moves the pointer to, and outputs, the next element in the array |
prev() | moves the pointer to, and outputs, the previous element in the array |
reset() | moves the pointer to the first element of the array |
each() returns a four - element array rather than a value.
The four-element array that each() returns contains elements with both numeric and string indices, as follows:
Element Index | Element Value |
---|---|
0 | The current element's key |
"key" | The current element's key |
1 | The current element's value |
"value" | The current element's value |
We can use an index of either 0 or "key" to access the current element's key, or an index of 1 or "value" to access its value. For example:
<?PHP/* w w w .java 2 s . c o m*/
$myBook = array( "title" => "Learn PHP from java2s.com",
"author" => "java2s.com",
"pubYear" => 2000 );
$element = each( $myBook );
echo "Key: " . $element[0] . "\n";
echo "Value: " . $element[1] . "\n";
echo "Key: " . $element["key"] . "\n";
echo "Value: " . $element["value"] . "\n";
?>
The code above generates the following result.
The each()
function does not move the array cursor back to the first element.
It picks up from where the cursor was.
each()
can deal with empty variables and unknown keys.
Output current element
<?php
$people = array("A", "B", "C", "D");
print_r (each($people));
?>
The code above generates the following result.
A loop to output the whole array:
<?php
$people = array("A", "B", "C", "D");
reset($people);
while (list($key, $val) = each($people)){
echo "$key => $val\n";
}
?>
The code above generates the following result.
A demonstration of all related methods:
<?php// w w w . ja v a 2 s. c om
$people = array("A", "B", "C", "D");
echo current($people) . "\n"; // The current element is A
echo next($people) . "\n"; // The next element of A is B
echo current($people) . "\n"; // Now the current element is B
echo prev($people) . "\n"; // The previous element of B is A
echo end($people) . "\n"; // The last element is D
echo prev($people) . "\n"; // The previous element of D is C
echo current($people) . "\n"; // Now the current element is C
echo reset($people) . "\n"; // Moves the internal pointer to the first element of the array, which is A
echo next($people) . "\n"; // The next element of A is B
print_r (each($people)); // Returns the key and value of the current element (now B), and moves the internal pointer forward
?>
The code above generates the following result.