>  기사  >  백엔드 개발  >  foreach循环

foreach循环

WBOY
WBOY원래의
2016-06-20 12:30:09999검색

        //获取格式化组合分类json数组        $class  =  $this->tclass->get_all_class($this->tbname);        $json_class = array();        $json_class2 = array();//怎么能让foreach这段无限循环?        foreach ($class as $key=>$value) {			  if($class[$key]['sonclass'] && $class[$key]['bclassid'] == 0) //如果有子分类            {                $json_class[$key]['id'] = $value['classid'];                $json_class[$key]['text'] = $value['classname'];                $son_arr = $this->tclass->get_son_class($value['sonclass'],$this->tbname);                foreach ($son_arr as $k=>$v) {                   $json_class1[$k]['id'] = $v['classid'];                   $json_class1[$k]['text'] = $v['classname'];                   }               $json_class[$key]['children'] = $json_class1;            }           else if($class[$key]['bclassid'] == 0)            {                $json_class2[$key]['id'] = $value['classid'];                $json_class2[$key]['text'] = $value['classname'];            }        }        $root_class = array('id'=>0,'text'=>'根栏目');   //根栏目数据        $json_class_data = array_merge($json_class,$json_class2); //合并分类数组        array_unshift($json_class_data,$root_class);  //插入数组到最前端        echo json_encode($json_class_data);


这段是输出分类的  怎么能让foreach无限循环呢? 现在只能输出父类和父下的一个子类,但子类也有子类就出不来了 怎么办?


回复讨论(解决方案)

这个你要写一个 寻找儿子的方法 然后发现他有儿子 就掉那个方法 ,至于数据怎么显示 看你自己了 。。。。。

参考下面的写法,表名改成自己的。

function countsubcat($pid){   $r=mysql_query("select count(bclassid) AS say from meskat where bclassid='$pid' limit 1");   $rw=mysql_fetch_array($r);   return $rw['say'];}function listmenu($pid = 0){   $res = mysql_query("select classid,classname,bclassid from meskat where bclassid='$pid'");   while($cat=mysql_fetch_array($res))   {     echo '<li>';     print'<a href="#">'.$cat['classname'].'</a>';     if(countsubcat($cat['classid'])>0)     {      print'<ul>';         listmenu($cat['classid']);      print'</ul>';     }   echo '</li>';   }}echo '<ul>';listmenu(0);  //从一级分类开始echo '</ul>';`

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.