foreachPodręcznik PHPPoprzedniRozdział 11. Control StructuresNastępnyforeach
PHP 4 (not PHP 3) includes a foreach construct,
much like Perl and some other languages. This simply gives an easy
way to iterate over arrays. There are two syntaxes; the second is
a minor but useful extension of the first:
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
The first form loops over the array given by
array_expression. On each loop, the value of
the current element is assigned to $value and
the internal array pointer is advanced by one (so on the next
loop, you'll be looking at the next element).
The second form does the same thing, except that the current
element's key will be assigned to the variable
$key on each loop.
Notatka:
When foreach first starts executing, the
internal array pointer is automatically reset to the first element
of the array. This means that you do not need to call
reset() before a foreach
loop.
Notatka:
Also note that foreach operates on a copy of
the specified array, not the array itself, therefore the array
pointer is not modified as with the each()
construct and changes to the array element returned are not
reflected in the original array.
Notatka:
foreach does not support the ability to
suppress error messages using '@'.
You may have noticed that the following are functionally
identical:
reset ($arr);
while (list(, $value) = each ($arr)) {
echo "Value: $value<br>\n";
}
foreach ($arr as $value) {
echo "Value: $value<br>\n";
}
The following are also functionally identical:
reset ($arr);
while (list($key, $value) = each ($arr)) {
echo "Key: $key; Value: $value<br>\n";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value<br>\n";
}
Some more examples to demonstrate usages:
/* foreach example 1: value only */
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
print "Current value of \$a: $v.\n";
}
/* foreach example 2: value (with key printed for illustration) */
$a = array (1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach($a as $v) {
print "\$a[$i] => $v.\n";
}
/* foreach example 3: key and value */
$a = array (
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach($a as $k => $v) {
print "\$a[$k] => $v.\n";
}
/* foreach example 4: multi-dimensional arrays */
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";
foreach($a as $v1) {
foreach ($v1 as $v2) {
print "$v2\n";
}
}
/* foreach example 5: dynamic arrays */
foreach(array(1, 2, 3, 4, 5) as $v) {
print "$v\n";
}
PoprzedniSpis treściNastępnyforPoczątek rozdziałubreak
Wyszukiwarka
Podobne podstrony:
control structures foreachcontrol structures foreachcontrol structures continuecontrol structures forcontrol structures whilecontrol structures elseifcontrol structures switchcontrol structurescontrol structures switchcontrol structures declarecontrol structures breakcontrol structurescontrol structures do whilecontrol structures continuecontrol structures alternative syntaxcontrol structures elsecontrol structures alternative syntaxwięcej podobnych podstron