PHP foreach 循环结构是遍历数组时常用的方法,foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量或者未初始化的变量将发出错误信息。
foreach 有以下两种语法格式:
//格式1 第一种格式遍历 array_expression 数组时,每次循环将数组的值赋给 $value;
foreach (array_expression as $value){
statement
}
//格式2 第二种遍历不仅将数组值赋给 $value,还将键名赋给 $key。
foreach (array_expression as $key => $value){
statement
}
举例演示两种格式的不同
- <?php
- $array = [0, 1, 2];
- foreach ($array as $val){
- echo "值是:" . $val ;
- echo "<br/>";
- //var_dump(current($array));
- }
- foreach ($array as $key => $value) {
- echo "键名是:" . $key . "值是:" . $value;
- echo "<br/>";
- }
- ?>
执行以上代码打印的结果是:
- 值是:0
- 值是:1
- 值是:2
- 键名是:0值是:0
- 键名是:1值是:1
- 键名是:2值是:2
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr is now array(2, 4, 6, 8)
unset($value); // 最后取消掉引用
?>
<?php
foreach (array(1, 2, 3, 4) as &$value) {
$value = $value * 2;
}
?>