PHP循环输出二维数组

目的: 将二维数组中的每一个元素输出

首先定义一个二维数组

//定义数组
$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循环中的部分操作

点赞