递归参考

function get_cat($cid=0){//递归算法    
        $nav=M(‘nav‘);
        $cat=$nav->where(‘pre_id=‘.$cid)->select();
        foreach($cat as $key=>$val){
            $cats=$this->get_cat($val[‘id‘]);
            $cat[$key][‘child‘]=$cats;
        }
        return $cat;
    }

Array
(
    [0] => Array
        (
            [id] => 4
            [nav_name] => 研报
            [pre_id] => 0
            [pid] => 4
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 5
                            [nav_name] => 宏观
                            [pre_id] => 4
                            [pid] => 17
                            [child] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [id] => 6
                            [nav_name] => 行业
                            [pre_id] => 4
                            [pid] => 18
                            [child] => Array
                                (
                                )

                        )

                    [2] => Array
                        (
                            [id] => 7
                            [nav_name] => 个股
                            [pre_id] => 4
                            [pid] => 19
                            [child] => Array
                                (
                                )

                        )

                    [3] => Array
                        (
                            [id] => 8
                            [nav_name] => 名家
                            [pre_id] => 4
                            [pid] => 20
                            [child] => Array
                                (
                                )

                        )

                )

        )

    [1] => Array
        (
            [id] => 2
            [nav_name] => 市场
            [pre_id] => 0
            [pid] => 2
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 9
                            [nav_name] => 大盘
                            [pre_id] => 2
                            [pid] => 9
                            [child] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [id] => 10
                            [nav_name] => 主力
                            [pre_id] => 2
                            [pid] => 10
                            [child] => Array
                                (
                                )

                        )

                    [2] => Array
                        (
                            [id] => 11
                            [nav_name] => 基金
                            [pre_id] => 2
                            [pid] => 11
                            [child] => Array
                                (
                                )

                        )

                    [3] => Array
                        (
                            [id] => 12
                            [nav_name] => 策略
                            [pre_id] => 2
                            [pid] => 12
                            [child] => Array
                                (
                                )

                        )

                )

        )

    [2] => Array
        (
            [id] => 3
            [nav_name] => 理财
            [pre_id] => 0
            [pid] => 3
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 13
                            [nav_name] => 银行
                            [pre_id] => 3
                            [pid] => 13
                            [child] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [id] => 14
                            [nav_name] => 债券
                            [pre_id] => 3
                            [pid] => 14
                            [child] => Array
                                (
                                )

                        )

                    [2] => Array
                        (
                            [id] => 15
                            [nav_name] => 保险
                            [pre_id] => 3
                            [pid] => 15
                            [child] => Array
                                (
                                )

                        )

                    [3] => Array
                        (
                            [id] => 16
                            [nav_name] => 信托
                            [pre_id] => 3
                            [pid] => 16
                            [child] => Array
                                (
                                )

                        )

                )

        )

    [3] => Array
        (
            [id] => 1
            [nav_name] => 全球
            [pre_id] => 0
            [pid] => 1
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 17
                            [nav_name] => 美股
                            [pre_id] => 1
                            [pid] => 5
                            [child] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [id] => 18
                            [nav_name] => 外汇
                            [pre_id] => 1
                            [pid] => 6
                            [child] => Array
                                (
                                )

                        )

                    [2] => Array
                        (
                            [id] => 19
                            [nav_name] => 期货
                            [pre_id] => 1
                            [pid] => 7
                            [child] => Array
                                (
                                )

                        )

                    [3] => Array
                        (
                            [id] => 20
                            [nav_name] => 黄金
                            [pre_id] => 1
                            [pid] => 8
                            [child] => Array
                                (
                                )

                        )

                )

        )

)
时间: 2024-10-14 02:42:32

递归参考的相关文章

基于Spark的用户行为路径分析

研究背景 互联网行业越来越重视自家客户的一些行为偏好了,无论是电商行业还是金融行业,基于用户行为可以做出很多东西,电商行业可以归纳出用户偏好为用户推荐商品,金融行业可以把用户行为作为反欺诈的一个点,本文主要介绍其中一个重要的功能点,基于行为日志统计用户行为路径,为运营人员提供更好的运营决策.可以实现和成熟产品如adobe analysis类似的用户行为路径分析.最终效果如图.使用的是开源大数据可视化工具.如图所示,用户行为路径的数据非常巨大,uv指标又不能提前计算好(时间段未定),如果展示5级,

【算法导论】归并排序

递归与分治 许多有用的算法在结构上是递归的:为了解决一个给定的问题,算法一次或多次递归地调用其自身以解决紧密相关的若干子问题.这些算法典型地遵循分治法的思想:将原问题分解为几个规模较小但类似于原问题的子问题,递归地求解这些子问题,然后再合并这些子问题的解来建立原问题的解. 分治模式在每层递归时都有三个步骤: 分解原问题为若干子问题,这些子问题是原问题的规模较小的实例. 解决这些子问题,递归地求解各子问题.然而,若子问题的规模足够小,则直接求解. 合并这些子问题的解成原问题的解. 归并排序 归并排

Leetcode: Binary Tree Postorder Traversal(二叉树后序遍历)

题目: Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary tree {1,#,2,3}, 1 2 / 3 return [3,2,1]. Note: Recursive solution is trivial, could you do it iteratively? 递归解法(C++版本): /** * Definition for binary

.NET下拉框DropDownList层级实现

.NET下拉框DropDownList层级实现 这也算是第一篇博客吧,技术比较菜,写得不好,希望各位博友见谅哈,多多提提意见. 今天做电商网站新闻添加的时候,下拉框选择新闻类别觉得太长,又无法定位其准确级别,让人甚是苦恼,于是想做一个层级的下拉框,刚开始的时候想到了用递归树去实现,之前写过递归树,觉得应该可以,便试了一下,递归树代码如下: 1 #region 递归添加下拉框的值 参数ParentID为树的最大父结点 2 public void AddTree(int ParentID, List

File API 读取文件小结

简单地说,File API只规定怎样从硬盘上提取文件,然后交给在网页中运行的JavaScript代码. 与以往文件上传不一样,File API不是为了向服务器提交文件设计的. 关于File API不能做什么也非常值得注意.它不能修改文件,也不能创建新文件. 想保存任何数据,你可以通过Ajax把数据发送到服务器,或者把它保存在本地存储空间中. 取得文件 使用input元素.将其type属性设置为file,这样是最常见的标准上传文本框 隐藏的input元素.为了保证风格一致,可以把input元素隐藏

如何运用动态规划解题

本文内容整理自中国大学MOOC郭炜老师的程序设计与算法(二) 首先由数字三角形问题出发( ̄︶ ̄) ,题目描述如下:       7          3   8        8   1   0     2   7   4   4   4   5   2   6   5 在上面的数字三角形中寻找一条从顶部到底部的路径,使得路径上所经过的数字之和最大.路径上的每一步都只能往左下或右下走.只需要求出这个最大和即可,不必给出具体路径.(三角形的行数大于1小于100,数字为0~99) 输入: 第一行是数

[LeetCode][Java] Permutations

题目: Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the following permutations: [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1]. 题意: 给定一组数字,返回所有的可能的组合. 比如: [1,2,3] 有下面的组合: [1,2,3], [1,3,2], [2,1,3],

第四周课堂实践总结

课堂知识点总结 数组边界值即为其中的最大最小值 循环与递归 循环语句 for循环语句(循环体只有一条语句时,大括号最好不要省略) for(表达式1:表达式2:表达式3) { 若干语句 } while循环语句(循环体只有一条语句时,大括号最好不要省略) while(表达式) { 若干语句 } do-while循环语句 do{ 若干语句 }while(表达式); 递归 递归算法是一种直接或间接地调用自身的算法.在编写程序时,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解.递

寻找连通线,参考八后算法递归,可用于验证码去除连续干扰线

寻找连通线,参考八后算法递归,可用于验证码去除连续干扰线 https://github.com/isee15/captcha-ocr/blob/master/src/cn/z/NoiseLine.java package cn.z; import java.awt.Color;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException; import javax.imageio.ImageI