ホームページ  >  記事  >  バックエンド開発  >  PHP で Infinitus 分類を実装するにはどうすればよいですか? (コード付き)

PHP で Infinitus 分類を実装するにはどうすればよいですか? (コード付き)

不言
不言オリジナル
2018-08-13 15:09:142217ブラウズ

この記事の内容は、PHP で Infinitus 分類を実装する方法についてです。 (コードを添付します) ある程度参考になるので、困っている友達は参考にしていただければ幸いです。

プロジェクトの作成時に Infinitus 分類を使用しました。プロジェクトの特別な理由により、メニュー バーはこのメソッドを複数回呼び出す必要があります。静的変数を使用して配列を保存すると問題が発生するため、

public function getTree($array, $pid = 0, $level = 0, &$list)
    {
        foreach ($array as $key => $value) {            
        //第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点
            if ($value['parentid'] == $pid) {                
            //父节点为根节点的节点,级别为0,也就是第一级
                $value['level'] = $level;                
                //把数组放到list中
                $list[] = $value;                
                //把这个节点从数组中移除,减少后续递归消耗
                unset($array[$key]);                
                //开始递归,查找父ID为该节点ID的节点,级别则为原级别+1
                $this->getTree($array, $value['id'], $level + 1, $list);

            }
        }        
        return $list;
    }

関連する推奨事項:

php で分類ツリー効果を実現するにはどうすればよいですか? (コード添付)

phpを使用してファイルのサイズを取得して判断するにはどうすればよいですか? (コード例)

以上がPHP で Infinitus 分類を実装するにはどうすればよいですか? (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。