美文网首页
PHP 递归函数

PHP 递归函数

作者: farlamp | 来源:发表于2020-05-15 18:01 被阅读0次

    1.直接显示没有层级显示区别

    public function tree($userinfo, $id, &$children, $ds = 0, $level = 0)

        {

            if (!$id) {

                return 'parent_id is null';

            }

            $level++;

            foreach ($userinfo as $key => $value) {

                if ($ds) {

                    if ($level > $ds) continue;

                }

                if ($value['parent_id'] == $id) {

                    $children[] = ['id' => $value['id'], "parent_id" => $value['parent_id'], "level" => $level];

                    // $children[] = $value['id'].$value['parent_id'];

                    $this->findBottoms($userinfo, $value['id'], $children, $ds, $level);

                }

            }

            return $children;

        }

    2.有明显的层级区分

     public function tree($arrCat, $pid = 0, $dj = 0)

        {

            $child = ["sum" => 0, 'uid' => $pid];   // 定义存储子级数据数组

            foreach ($arrCat as $key => $value) {

                if ($value['pid'] == $pid) {

                    $child['sum'] += $this->model->where(['id' => $value['id']])->value('money');

                    unset($arrCat[$key]);  // 使用过后可以销毁

                    $value['child'] = $this->tree_levle($arrCat, $value['id']);   // 递归调用,查找当前数据的子级

                    $child[] = $value;   // 把子级数据添加进数组

                }

            }

            return $child;

        }

    相关文章

      网友评论

          本文标题:PHP 递归函数

          本文链接:https://www.haomeiwen.com/subject/jbepaqtx.html