数据库思想——三维数组变二维数组并去除空数组

代码含义均在注释中

	public function teamx()
    {
        if (IS_POST) {
        //获取当前用户的id
            $uid = $this->getAccountId();
		//查询出当前用户的所有推荐人
            $zhijie=M('member')
                ->where(array('parentId'=>$uid))
                ->select();
        //查询出的二维数组赋予一个新的二维数组
            $data[0][0]=$zhijie;
		//取出二维数组中的id值,这些id值是该用户的推荐人(直推人)
            $a=array_column($zhijie,'id');

		//查询出这些推荐人(直推人)的所有推荐人(直推人)
            foreach ($a as $val){
                $where=" parentId=$val";
                $jianjie[]=M('member')
                    ->where($where)
                    ->select();
            }
		//现在,$jianjie是三维数组了,要把三维数组遍历为二维,并去除空数组
            foreach($jianjie as $key=>$value){
                //如果该值为空,就销毁该键
                if(!$value)
                {
                    unset($jianjie[$key]);
                }
           }
		//上一步消除了所有的空数组,这一步为三维变二维
            foreach ($jianjie as $k => $va){
                    foreach($va as $v){
                        $jianjie1[]=$v;
                    }
            }
		//现在,$jianjie1为二维数组,并赋给一个新的二维数组
            $data[0][1]=$jianjie1;
            $this->ajaxSuccess($data);
        }else{
            $this->display();
        }
    }

三维数组(含有空数组):
在这里插入图片描述
在这里插入图片描述
变成了二维数组:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42249896/article/details/87867211