官方文档中给了foreach的两种用法
foreach 语法结构供应了遍历数组的简朴体式格局。foreach 仅能够应用于数组和对象,假如尝试应用于其他数据类型的变量,或许未初始化的变量将发出错误信息。
有两种语法:
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
第一种花样遍历给定的 array_expression 数组。每次轮回中,当前单位的值被赋给 $value 而且数组内部的指针向前移一步(因而下一次轮回中将会获得下一个单位)。
第二种花样做一样的事,只除了当前单位的键名也会在每次轮回中被赋给变量 $key。
来看第二种,代码以下:
$a = array( "one" => array(1,2,3,4), "two" => array(5,6,7,8), "three" => array('a','b','c','d') ); foreach ($a as $k => $v) { echo $k . '<br>'; print_r($v); echo '<br>'; foreach ($a[$k] as $index => $value) { echo $k . '<br>'; echo $index . '<br>'; echo $value . '<br>'; } }
能够看到,我们设置了一个二维数组$a,而且设置了索引,部份输出以下:
第一行:能够看到$k对应的就是第二维数组的索引,比方第一条数组的“one”
第二行:$v对应的是第二维的数组(由于不能直接用echo输出,在这里运用了print_r),比方第一条数据的array(1,2,3,4),foreach中嵌套的那一层轮回中,$a[$k]示意的就是$v,这里写$a[$k]和写$v输出效果都是一样的,由于示意的也是一样的意义
第三行:$k仍旧是第二维数组的索引
第四行:$index是第二维数组数据的索引,隐式定义的,从0最先
第五行:$value是第二维数组的数据
接下来就是反复的输出了。
能够看到foerach的确是个很壮大的函数,上面是没有定义第二位数组的数据索引的状况,那假如第二位数组的数据也定义了索引呢,实在都一样,foreach语句也雷同
$b=array ( '0' => Array ( 'jid' => 10,'j名' => 10,'jabstract' => 10,'jprovider' => 10,'jintroduction' => '凶猛人物'), '1' => Array ( 'jid' => 8 ,'j名' => 8, 'jabstract' => 8, 'jprovider' => 8, 'jintroduction' => '凶猛人物') );
foreach ($b as $k => $v) { echo $k.'<br>'; print_r($v); echo '<br>'; foreach ($b[$k] as $index => $value){ echo $index.'<br>'; echo $value.'<br>'; } }
输出跟上面的也是一样的道理
注重运用utf-8花样,要不然输出的时刻会乱码。
引荐教程:PHP视频教程
以上就是php怎样遍历二维数组的细致内容,更多请关注ki4网别的相干文章!