foreach语法提供了遍历数组的简单方式。foreach仅能够用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误的信息。
1.语法
两种语法:
第一种格式遍历给定的array_expression数组。每次循环中,当前单元的值被赋值给$value并且数组内部的指针向前移动一步(因此下一次循环将会得到下一个单元)
foreach(array_expression as $value)
statement
第二种格式做同样的事,除此之外当前单元的键名也会在每次循环中被赋值给变量$key
foreach(array_expression as $key=>$value)
statement
2.例子
其中" &$value " 是引用赋值,使用后需要用unset取消
public function test(){
$arr = array(1,2,3,4);
foreach ($arr as &$value) {
$value = $value*2;
}
print_r($arr);
unset($value);
}
//结果:
Array
(
[0] => 2
[1] => 4
[2] => 6
[3] => 8
)
例子二
$k就是键名,$v就是键值
public function test(){
$arr = array(
"one" =>1,
"two" =>2,
"three" =>3,
);
foreach ($arr as $k => $v) {
echo "[$k]=>$v\n";
}
}
//结果:
[one]=>1
[two]=>2
[three]=>3