foreach ループ

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-20 12:30:09
オリジナル
1030 人が閲覧しました

        //获取格式化组合分类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 ループを無限に作成するにはどうすればよいでしょうか。現在、親クラスとその配下のサブクラスを 1 つだけ出力できますが、サブクラスにもサブクラスがあるためエクスポートできません。


ディスカッションへの返信 (解決策)

このためには、息子を見つけるメソッドを作成し、息子がいることがわかったらそのメソッドを削除する必要があります。データがどのように表示されるかはあなた次第です。 。 。 。 。

以下の記述方法を参考に、テーブル名を独自のものに変更してください。

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>';`
ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート