目的: 将二维数组中的每一个元素输出
首先定义一个二维数组
//定义数组
$arr = array(array('北京','上海','深圳','广州'),array('黑龙江','吉林','辽宁','江苏')
);
一 for循环输出
1.1 直接输出
//for循环遍历数组
for($i = 0; $i < count($arr); $i++) {for($j = 0; $j < count($arr[$i]); $j++) {echo $arr[$i][$j]."<br />";}
}
结果是这样
北京
上海
深圳
广州
黑龙江
吉林
辽宁
江苏
1.2 或者将循环出来的所有元素放到一个新的一维数组中,输出一维数组
//for循环遍历数组
for($i = 0; $i < count($arr); $i++) {for($j = 0; $j < count($arr[$i]); $j++) {$arrs[] = $arr[$i][$j];}
}
var_dump($arrs);
结果是这样
array (size=8)0 => '北京' (length=6)1 => '上海' (length=6)2 => '深圳' (length=6)3 => '广州' (length=6)4 => '黑龙江' (length=9)5 => '吉林' (length=6)6 => '辽宁' (length=6)7 => '江苏' (length=6)
(size=8)0 => '北京' (length=6)1 => '上海' (length=6)2 => '深圳' (length=6)3 => '广州' (length=6)4 => '黑龙江' (length=9)5 => '吉林' (length=6)6 => '辽宁' (length=6)7 => '江苏' (length=6)
二 使用foreach
2.1 直接输出元素
foreach ($arr as $key => $value) {foreach ($value as $k => $v) {echo $v."<br>";}
}
北京
上海
深圳
广州
黑龙江
吉林
辽宁
江苏
2.2 将元素放到新数组中,转化为一维数组,重新输出
foreach ($arr as $key => $value) {foreach ($value as $k => $v) {$arrs[] = $v; }
}
var_dump($arrs);
array (size=8)0 => '北京' (length=6)1 => '上海' (length=6)2 => '深圳' (length=6)3 => '广州' (length=6)4 => '黑龙江' (length=9)5 => '吉林' (length=6)6 => '辽宁' (length=6)7 => '江苏' (length=6)
(size=8)0 => '北京' (length=6)1 => '上海' (length=6)2 => '深圳' (length=6)3 => '广州' (length=6)4 => '黑龙江' (length=9)5 => '吉林' (length=6)6 => '辽宁' (length=6)7 => '江苏' (length=6)
总结:
foreach和for循环效果是一样的,foreach只是for循环的一种封装而已,简便了for循环中的部分操作