夺命雷公狗---无限级分类NO7

<?php
    header("Content-Type:text/html;charset=utf-8");
    $aarr = array(
        array(‘id‘=>1,‘name‘=>‘安徽‘,‘pid‘=>0),
        array(‘id‘=>2,‘name‘=>‘海淀‘,‘pid‘=>7),
        array(‘id‘=>3,‘name‘=>‘浣溪县‘,‘pid‘=>5),
        array(‘id‘=>4,‘name‘=>‘昌平‘,‘pid‘=>7),
        array(‘id‘=>5,‘name‘=>‘淮北‘,‘pid‘=>1),
        array(‘id‘=>6,‘name‘=>‘朝阳‘,‘pid‘=>7),
        array(‘id‘=>7,‘name‘=>‘北京‘,‘pid‘=>0),
        array(‘id‘=>8,‘name‘=>‘上地‘,‘pid‘=>2)
    );

    function substree($arr,$pid=0){
        $task = array($pid); //任务表
        $tree = array(); //地区表

        while(!empty($task)){
            $flag = false;

            foreach($arr as $k=>$v){
                if($v[‘pid‘] == $pid){
                    $tree[] = $v;
                    array_push($task,$v[‘id‘]);  //把最新地区id入任务栈
                    $pid = $v[‘id‘];
                    unset($arr[$k]);  //把单元unset掉

                    $flag = true;  //说明找到子栏目
                }
            }
            if($flag == false){
                array_pop($task);
                $pid = end($task);
            }
            //print_r($task);
        }
        return $tree;
    }
    echo "<pre>";
    print_r(substree($aarr,0));

这是使用迭代法找子孙树的方法

时间: 10-22

夺命雷公狗---无限级分类NO7的相关文章

夺命雷公狗---无限级分类NO2

<?php header("Content-Type:text/html;charset=utf-8"); /* 无限级分类.牵扯2个应用 0是-找指定栏目的子栏目 1是-找指定栏目的子孙栏目,即子孙树 2是-找指定栏目的父栏目/父父栏目....顶级栏目,即家谱树 */ $aarr = array( array('id'=>1,'name'=>'安徽','pid'=>0), array('id'=>2,'name'=>'海淀','pid'=>7

夺命雷公狗---无限级分类NO3

<?php header("Content-Type:text/html;charset=utf-8"); /* 无限级分类.牵扯2个应用 0是-找指定栏目的子栏目 1是-找指定栏目的子孙栏目,即子孙树 2是-找指定栏目的父栏目/父父栏目....顶级栏目,即家谱树 */ $aarr = array( array('id'=>1,'name'=>'安徽','pid'=>0), array('id'=>2,'name'=>'海淀','pid'=>7

夺命雷公狗---无限级分类NO5

<?php header("Content-Type:text/html;charset=utf-8"); $aarr = array( array('id'=>1,'name'=>'安徽','pid'=>0), array('id'=>2,'name'=>'海淀','pid'=>7), array('id'=>3,'name'=>'浣溪县','pid'=>5), array('id'=>4,'name'=>'昌平

夺命雷公狗---无限级分类NO6

<?php header("Content-Type:text/html;charset=utf-8"); $aarr = array( array('id'=>1,'name'=>'安徽','pid'=>0), array('id'=>2,'name'=>'海淀','pid'=>7), array('id'=>3,'name'=>'浣溪县','pid'=>5), array('id'=>4,'name'=>'昌平

夺命雷公狗ThinkPHP项目之----商城8商品品牌管理

本章的主要目标是为了对商品品牌进行CRUD(增删改查)操作. 我们在写的时候就要了解业务逻辑,也就是了解表结构 每个字段代表什么含义,为什么是这个类型的 logo:保存的是图片,一般是分两个途径来保存的, 1.保存图片的本身,保存在目录之下 2.将图片的路径保存到数据表中 我们先创建一个名字为BrandController的控制器,和在view视图里面创建一个Brand的文件夹来进行存放模版文件,如下图所示: 然后将add里面的css和图片路径该下即可代码如下: <!DOCTYPE html P

夺命雷公狗---微信开发23----客服消息接口基础和推送文本

我们这边课程里面一共用到了三个文件,分别是WeChat.class.php和common.php以及index.php 我们在写这个功能之前也要学会查手册,手册我们可以在微信开发这里找到,如下所示: 点击进去后我们将会看到客服接口,我们可以点击下进去看看里面有什么动动 这里有一个发送文本消息的,我们点击进去看下 这里很明显就看到文本消息是通过一个json数据来进行实现的,废话不多说,开工 这里我们先来写一个WeChat.php的文件,这里作用主要适用于封装一个CURL上传类的,代码如下所示: <

夺命雷公狗---微信开发17----自定义菜单的事件推送,响应菜单的CLICK

废话不多说,index.php 代码如下所示: <?php /** * wechat php test */ //define your token require_once "common.php"; define("TOKEN", "twgdh"); $wechatObj = new wechatCallbackapiTest(); //当接入成功后,请注销这句话,否则,会反复验证. //$wechatObj->valid();

夺命雷公狗---linux之centos的安装

由于要玩node.js了,所以还是来复习下linux系统才行,所以夺命雷公狗分享两套安装linux的方法,这是centos的安装方法,,, 管理员默认帐号为:root,密码则是刚才您输入的那个...

夺命雷公狗---linux之红帽的安装

夺命雷公狗分享的第二套安装linux方法是RadHad的安装方法,,, 点击然后就自动重启了