PHP 再帰アルゴリズム PHP 再帰関数の無限分類
リリース: 2016-07-25 08:54:02
-
-
< - /**
- * 機能: すべてのカテゴリをクエリしてツリー メニューを生成します
- * @param int $pid 親 ID、クエリはデフォルトで最上位から開始されます
- */
- function toTree($pid=0){
- //上位カテゴリをすべてクエリします
- //ここではデータベース接続についてはあまり説明しません
- $model=M('Category'); モデルをインスタンス化します
- //マップ条件をクエリします
- $map=array(
- 'pid'=>$pid,
- );
- //クエリ
- $data=$model- >where($map)->select();
- //生成された HTML ツリー メニューを格納する新しい配列を定義します
- $html_array=array();
- // ループ分類
- $html='';
- $ padding=0; //インデント
- foreach($data as $k=>$v){
- //パスフィールドの値に基づいてインデントが実装されます
- $path=$v['path'];
- if ( $path&&strpos($v['path'],'-')){
- $path_array=@explode('-',$v['path']);
- $count=count($path_array)-1;
- $padding=$count*20; //次のレベルの分類は 20 ピクセルずつインデントされます
- }
- //現在の分類データ html
- $data_array[]='
- '.$v['name'].'
- ' ;< ;/p>
//下位レベルのカテゴリの検索を再帰的に開始します
- $data_array[]=toTree($v['id']);//現在のカテゴリの ID を使用して再帰します親 ID
- }
- / /foreach ループが終了し、分類された HTML 配列をマージします
- $html.=implode('',$data_array());
- $html.='';
- //HTML ツリー メニューの構築が完了しました。それはとても簡単です!
- return $html;
- }
-
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31