<?php
// foreach遍历关联数组
$data=array(
'a'=>'新浪',
'b'=>'腾讯',
'c'=>'百度',
'd'=>'阿里',
'e'=>'网易',
);
// $key是下标值;
// $value是数组元素值
foreach($data as $key=>$value){
echo $key.'---------'.$value."<br>";
}
echo "-------------分割线-------------<br>";
echo "-------------分割线-------------<br>";
echo "-------------分割线-------------<br>";
// foreach遍历索引数组
$demo=array(
'0'=>'中国',
'100'=>'美国',
'20'=>'英国',
'200'=>'日本',
'30'=>'朝鲜',
);
foreach($demo as $key=>$value){
echo $key.'----------'.$value."<br>";
}
echo "-------------分割线-------------<br>";
echo "-------------分割线-------------<br>";
echo "-------------分割线-------------<br>";
// foreach遍历多维数组
$area=array(
0=>array(
'中国'=>'China',
'美国'=>'USA',
'德国'=>'Germany',
),
1=>array(
'湖北'=>'hubei',
'河北'=>'hebei',
'山东'=>'shandong',
'山西'=>'sanxi',
),
);
// 注:我们在适于哦那个foreach循环时,第一次循环将键为0和键为1的两个数组赋值给一个变量($value)。然后再套一个循环遍历这个$value变量,将$value中的值取出来,赋值给$k和$v。
foreach ($area as $value) {
// 第一次循环把国家的数组赋值给了$value
// 第二次循环把中国的省份的数组又赋值给了$value
// 因此,我们在循环的时候把$value再遍历一次
foreach ($value as $k => $v) {
# code...
echo $k.'-----------'.$v."<br>";
}
}
效果如下
// 总结:
// 1、第一次循环的时候,将数组赋值给力$value,然后用foreach循环$value,将二维的子数组中的键给到$k,值赋值给变量$k。
// 2、第一次循环推出子数组的循环,执行后续代码显示分割线。
// 3、以此类推,第二次循环也是这样。
例如:
<?php
$arr=array(
'教学部'=>array(
array('李某','18','人妖'),
array('高某','20','男'),
array('张某','21','妖人'),
),
'宣传部'=>array(
array('李某','18','人妖'),
array('高某','20','男'),
array('张某','21','妖人'),
),
'财务部,'=>array(
array('李某','18','人妖'),
array('高某','20','男'),
array('张某','21','妖人'),
),
);
foreach($arr as $key=> $value){
echo "部门".$key."<br>";
foreach($value as $ke=>$va){
echo "编号".$ke."<br>";
foreach($va as $k =>$v){
echo $k.'--------'.$v."<br>";
}
}
}