昭觉县 育儿 霸州市 天门市 丹凤县 闽清县 海淀区 杭锦后旗 山阴县 敖汉旗 汪清县 河间市 澎湖县 英山县 七台河市 家居

腊肠犬_二叉树结构 统计每一个叶子节点下的节点的数量

标签:鱼子酱 iosqq斗地主授权

类如下:

<?php
class getUserLeftRightNumber
{
    public $arr_all;
    public $arr_init;
    public $arr_leaf;
    public $arr_res;
    public function __counstruct()
    {
    
    }

    public function getUserNum()
    {
        // ini_set("memory_limit","6144M");
        // set_time_limit(0);

        // header("content-type:text/html;charset=utf-8"); 
        // define("DB_HOST","127.0.0.1"); 
        // define("DB_USER","root"); 
        // define("DB_PASS","root"); 
        // define("DB_NAME","test"); 
        // define("DB_PORT",3306); 
        // define("DB_CHAR","utf8"); 
        // define("APPNAME",""); 
        // $mysqli = new mysqli( DB_HOST, DB_USER, DB_PASS, DB_NAME);
        // $rst = $mysqli->query( "set names " . DB_CHAR );
        // $sql = "select * from ub_user_expand";
        // $result=$mysqli->query($sql);
        // $array=array(); 
        // while( $rows=$result->fetch_assoc() )
        // {
        //     $r["uid"] = $rows["uid"];
        //     $r["name"] = $rows["username"];
        //     $r["_referee"] = $rows["_referee"];
        //     $r["_left"] = $rows["_left"];
        //     $r["_right"] = $rows["_right"];
        //     $r["position"] = $rows["position"];

        //     $this->arr_all[] = $r;
        // }
        // print_r($this->arr_all);die();

        $this->arr_all[0]  = array("uid" => "10000000", "_referee" => "","name" => "101001", "_left" => "10000001", "_right" => "10000002", "position" => "" );
        $this->arr_all[1]  = array("uid" => "10000001", "_referee" => "101001", "name" => "102001", "_left" => "10000003", "_right" => "10000004", "position" => 1 );
        $this->arr_all[2]  = array("uid" => "10000002", "_referee" => "101001", "name" => "102002", "_left" => "10000005", "_right" => "10000006", "position" => 2 );
 绝望主妇_2018年最新新闻网       $this->arr_all[3]  = array("uid" => "10000003", "_referee" => "102001",带着智能手机闯荡异世界_2018年最新新闻网 "name" => "103001", "_left" => "10000007", "_right" => "10000008", "position" => 1 );
        $this->arr_all[4]  = array("uid" => "10000004", "_referee" => "102001", "name" => "103002", "_left" => "10000009", "_right" => "10000010", "position" => 2 );
        $this->arr_all[5]  = array("uid" => "10000005", "_referee" => "102002", "name" => "103003", "_left" => "10000011", "_right" => "10000012", "position" => 1 );
        $this->arr_all[6]  = array("uid" => "10000006", "_referee" => "102002", "name" => "103004", "_left" => "10000013", "_right" => "10000014", "position" => 2 );
        $this->arr_all[7]  = array("uid" => "10000007", "_referee" => "103001", "name" => "104001", "_left" => "10000015", "_right" => "10000016", "position" => 1 );
        $this->arr_all[8]  = array("uid" => "10000008", "_referee" => "103001", "name" => "104002", "_left" => "10000017", "_right" => "10000018", "position" => 2 );
        $this->arr_all[9]  = array("uid" => "10000009", "_referee" => "103002", "name" => "104003", "_left" => "10000019", "_right" => "10000020", "position" => 1 );
        $this->arr_all[10] = array("uid" => "10000010", "_referee" => "103002", "name" =&g滑头鬼之孙_2018年最新新闻网t; "104004", "_left" => "10000021", "_right" => "10000022", "position" => 2 );
        $this->arr_all[11] = array("uid" => "10000011", "_referee" => "103003", "name" => "104005", "_left" => "10000023", "_right" => "10000024", "position" => 1 );
        $this->arr_all[12] = array("uid" => "10000012", "_referee" => "103003", "name" => "104006", "_left" => "10000025", "_right" =>斗破苍穹之无上之境_2018年最新新闻网 "10000026", "position" => 2 );
        $this->arr_all[13] = array("uid" => "10000013", "_referee" => "103004", "name" => "104007", "_left" => "10000027", "_right" => "10000028", "position" => 1 );
        $this->arr_all[14] = array("uid" => "10000014", "_referee" => "103004", "name" => "104008", "_left" => "10000029", "_right" => "10000030", "position" => 2 );
        $this->arr_all[15] = array("uid" => "10000015", "_referee" => "104001", "name" => "105001", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[16] = array("uid" => "10000016", "_referee" => "104001", "name" => "105002", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[17] = array("uid" => "10000017", "_referee" => "104002", "name" => "105003", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[18] = array("uid" => "10000018", "_referee" => "104002", "name" => "105004", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[19] = array("uid" => "10000019", "_referee" => "104003", "name" => "105005", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[20] = array("uid" => "10000020", "_referee" => "104003", "name" => "105006", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[21] = array("uid" => "10000021", "_referee" => "104004", "name" => "105007", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[22] = array("uid" => "10000022", "_referee" => "104004", "name" => "105008", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[23] = array("uid" => "10000023", "_referee" => "104005", "name" => "105009", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[24] = array("uid" => "10000024", "_referee" => "104005", "name" => "105010", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[25] = array("uid" => "10000025", "_referee" => "104006", "name" => "105011", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[26] = array("uid" => "10000026", "_referee" => "104006", "name" => "105012", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[27] = array("uid" => "10000027", "_referee" => "104007", "name" => "105013", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[28] = array("uid" => "10000028", "_referee" => "104007", "name" => "105014", "_left" => "",  "_right" => "", "position" => 2 );
        $this->arr_all[29] = array("uid" => "10000029", "_referee" => "104008", "name" => "105015", "_left" => "",  "_right" => "", "position" => 1 );
        $this->arr_all[30] = array("uid" => "10000030", "_referee" => "104008", "name" => "105016", "_left" => "",  "_right" => "", "position" => 2 );


        // 循环处理数据 获取 叶子节点
        foreach ( $this->arr_all as $key => $value ) 
        {
            $this->arr_init[$value["name"]] = $value;
            if ( empty( $value["_left"] ) && empty( $value["_right"] ) ) 
            {
                $this->arr_leaf[] = $value;
            }
        }

        foreach ( $this->arr_leaf as $key => $value ) 
        {
            $this->getUserNumInit( $this->arr_init, $value, 0 );
        }

        print_r( $this->arr_res );
    
    }

    public function getUserNumInit( $all, $leaf, $count_last )
    {
        if ( !empty( $leaf ) && is_array( $leaf ) && !empty($leaf["_referee"]) ) 
        {
            // echo "<br/>".$leaf["name"]."<br/>";
            $count      = 0;
            $count_self = 1;
            $count_all  = $count_self + $count_last;

            $res_key    = $leaf["_referee"];

            $this->arr_res[$res_key]["uid"] = $this->arr_init[$leaf["_referee"]]["uid"];
            $thi稻香村_2018年最新新闻网     }
            else 
            {
                return false;
            }

            // 获取上级、然后递归
            $referee = isset($all[$leaf["_referee"]])&&!empty($leaf["_referee"]) ? $all[$leaf["_referee"]] : "";
            if ( !empty( $referee ) ) 
            {
                $this->getUserNumInit( $all, $referee, $count );
            }

        }
    }
}

使用

$obj = new getUserLeftRightNumber();
$obj->getUserNum();

当前文章:http://fkj00l-tousuhou-com.chuimore.cn/9fxfn3b5e/8659d_151357.html

发布时间:2019-09-22 00:44:22

澳门银河真人yh163am.com  澳门银河娱乐官网下载  2949.com澳门银河娱乐  澳门银河送彩金  银河国际手机网址2949  澳门银河有正规平台吗  银河娱乐首页yh163am.com  银河娱乐在线官方网址  919银河优越会  www.7163.com澳门银河