PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

求,foreach遍历三维数组时只能遍历出第一个子级,这是为什么呢

原创
2016-06-13 12:17:21 777浏览

求高手指点,foreach遍历三维数组时只能遍历出第一个子级,这是为什么呢?



$val){
?>
" style="cursor: pointer;">
=$val['id']?>
onclick="task(=$val['id']?>,'=$val['name']?>')">=Util::msubstr($val['name'],0,16,'gbk')?>

=date("Y-m-d ",strtotime($val['date_start']))?>
=$val['plan_director_name']?>



%; height:6px; background:#23bd00;">



&workcenter_id==$val['workcenter_id']?>&plan_id==$val['id']?>'" id="show">
查看



$countParent=$key+1+$count;$child=0;
if(is_array($val[$key]))foreach($val[$key] as $v){ //这里只执行了一次
if($val['id']==$v['parent_id']){
$count=$count+1;$child=$child+1;
?>
treegrid-parent-=$countParent?>">
=$v['id']?>
=Util::msubstr($val['name'],0,16,'gbk')?>
=1?>
=date("Y-m-d ",strtotime($v['date_start']))?>
=$val['plan_director_name']?>


%; height:6px; background:#23bd00;">


=$v['status']?>

}
}
}}?>


------解决思路----------------------
不是特别清楚你的数据结构,检查一下这个条件有没有满足
if(is_array($val[$key]))
------解决思路----------------------
你的外层循环是
foreach($monitorList as $key=>$val)
进入内层循环的条件是
if(is_array($val[$key]))
不符合条件时,自然就没有输出



------解决思路----------------------
if (is_array($val)) { //判断$val的值是否是一个数组,如果是,则进入下层遍历
------解决思路----------------------
應該是
if (is_array($val)) 判斷是否有下一層
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。