zoukankan      html  css  js  c++  java
  • PHP递归算法

    /**
    * 获取菜单
    * @param number $id
    * @return multitype:
    */
    public function menu($id = 0) {
    $menu = M ( 'menu' );
    $arrlist = array (); // 数组必须初始化,否push不进去
    $where ['app'] = 'Portal';
    $where ['parentid'] = $id;
    $where ['status'] = 1;
    $parent = $menu->order ( 'listorder asc' )->where ( $where )->select ();//判断是否包含children元素
    for($i = 0; $i < count ( $parent ); $i ++) {
    $arr ['name'] = $parent [$i] ['name'];
    $arr ['id'] = $parent [$i] ['id'];
    if($id!=0)
    {
    $arr ['link'] = U ( $parent [$i] ['app'] . '/' . $parent [$i] ['model'] . '/' . $parent [$i] ['action'] . '/' . $parent [$i] ['data'] . '/tid/' . $parent [$i] ['parentid'] . '/id/' . $parent [$i] ['id'] );
    }

    else
    {
    $arr ['link'] = U ( $parent [$i] ['app'] . '/' . $parent [$i] ['model'] . '/' . $parent [$i] ['action'] . '/' . $parent [$i] ['data'] . '/tid/' . $parent [$i] ['id'] );
    }

    $arr ['child'] = $this->menu ( $parent [$i] ['id'] );
    array_push ( $arrlist, $arr );   //执行完成这个方法后继续进行下一次递归
    }
    return $arrlist; // 一次递归完成  然后执行 array_push方法  
    }

  • 相关阅读:
    Cayley's Tree Formula & Prufer's Method
    POJ 2262:Goldbach's Conjecture
    The Sieve of Eratosthenes (素数筛选法)
    POJ 2244:Eeny Meeny Moo(稍加变形的约瑟夫问题)
    POJ 1595:Prime Cuts
    iframe标签的使用
    js笔记
    Asp.Net知识点
    Reapte控件的使用
    浮躁十年
  • 原文地址:https://www.cnblogs.com/sunzhenyong/p/4256113.html
Copyright © 2011-2022 走看看