PHP递归统计上级

场景

1.由于项目需要类似于分销,需要统计所有上级,并且的到上级id号(member_id),上下级关系是通过字段(p_id) 建立上下级关系. 上级无级,之前最多是三级分销,通过mysql一级一级的查找。对于无限级,则用一个递归函数来统计。

递归函数

// An highlighted blockclass memberLimitLogic{static $ShareholdersMember = [];  //静态变量用于存放member_id//递归函数private function ShareholdersMember($member_id){         //传入初始IDif(empty($member_id)){return self::$ShareholdersMember;             //如果为空就返回}$mWhere  = array(                                    //查询条件条件'member_id' => array('eq',$member_id));//框架封装好的mysql 查寻语句。表名为 member 表, where条件为 $mWhere,查询内容为 member_id,p1_id(上级ID),level(为用户等级)$member_list = Model()->table('member')->where($mWhere)->field('member_id,p1_id,level')->find();if($member_list){                                  //判断上级是否存在$member_id =$member_list['p1_id'];self::$ShareholdersMember[] = $member_list['member_id'];  //把member_id存入数组(这里包括自己的ID,所以在传入初始ID的时候最好传入初始ID的上级ID(p1_id))//  if($member_list['level']==4){//       self::$ShareholdersMember[] = $member_list['member_id'];//  }$this->ShareholdersMember($member_id);      //继续执行本函数}else{return self::$ShareholdersMember;}}
}
//下级同理,只需修改查询条件即可$mWhere  = array(                                  //查询条件条件'p1_id' => array('eq',$member_id));

PHP递归统计上下级相关推荐

  1. Linux学习:读取目录内容 (目录名和类型)和递归统计指定目录下普通文件个数练习

    一.读取目录内容 #include <stdio.h> #include <unistd.h> #include <dirent.h> #include <s ...

  2. php 无限查找下级业绩_php无限查询下级,php递归统计下级总数,php 获取无限子级...

    因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员.先看看数据库中的member表字段 id            username   ...

  3. java递归统计一个文件夹含子文件夹里文件不同后缀的出现次数

    /*** 统计一个文件夹中不同文件出现的次数*/ public class demo1 {public static void main(String[] args) {File file = new ...

  4. java递归统计_Java类递归计数

    Class.isAssignableFrom();执行运行时的检查,以校验传递的对象确实属于我们感兴趣的继承结构. 统计基类和确切类型个数.import java.util.HashMap; impo ...

  5. linux shell 递归统计代码行数

    一句话: find /path -name '*.cpp' |xargs wc -l 转载于:https://www.cnblogs.com/songbingyu/p/4047163.html

  6. PHP 递归寻找上下级DEMO

    寻找所有下级 /*** @desc 获取所有下级ID** @param $uid* @param string $ids* @return string* @throws \think\Excepti ...

  7. linux 代码统计工具,Shell脚本实现的基于SVN的代码提交量统计工具

    最近没啥事,就用bash写了一个基于svn的代码统计小工具. 可以指定统计的目录,默认递归统计子目录. 目前还没有屏蔽指定目录的功能.哈 代码比较粗糙.不过先晒出来. #!/bin/bash - #& ...

  8. linux wc read,Linux 下使用 wc 统计文件夹下所有文件的代码行数(包括子目录)-Go语言中文社区...

    wc 命令用于统计文件内容的行数.单词数.字母数. 但是如果想统计一个目录下所有文件的行数,wc 并没有提供递归统计. 不过,可以结合 find 命令,例如: $ wc -l `find -name ...

  9. Python实现代码行数统计工具

    转自:Python中文社区 我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具. 思路:首先获取所有文件,然后 ...

最新文章

  1. JAVA导出exls时报oom_如何实现导出百万条数据到EXCEL中不报OOM异常?
  2. 使用Spring的@Autowired 实现DAO, Service, Controller三层的注入(转)
  3. python 进度条
  4. 曲线聚类_机器学习入门必读:6种简单实用算法及学习曲线、思维导图
  5. vim 高级使用技巧第二篇
  6. 如何使用ODBC搭配dsn链接数据库
  7. 【Java进阶】Ribbon讲解实现案例
  8. springboot data.redis.RedisConnectionFactory 集成问题
  9. 【转】无刷新验证用户名可用性
  10. Python笔记-获取拉钩网南京关于python岗位数据
  11. OpenShift 4 - DevSecOps (1) - 安装 DevOps 环境
  12. 字体编辑器_Mac系统常见的Birdfont字体编辑器
  13. 全球约39亿人未接入互联网 韩国家庭宽带普及率最高
  14. 软件需求与分析——大二下需会知识点
  15. 测试用例场景法3个例子
  16. 各大Asp木马的万能密码
  17. 生物医学信号检测与处理实验3——1微电阻梁
  18. 飞凌小课堂-RK3399开发板 linux双千兆网口方案-RTL8153
  19. Linux内核bridge结构体相关
  20. 2022考研:数学考研备考规划

热门文章

  1. 阻止你创业的理由?一切都是浮云!
  2. c4droid c4droid 安装 使用 教程
  3. 2023最新ChatGPT商业版4.8.4破解+GPT4.0(包含3.5)+AI绘画midjourney
  4. 特征学习-RBM与PCA应用在LR
  5. stm32接入机智云平台实现app控制led灯
  6. 大佬教你们如何快速复制网页中的链接地址(技巧分享,非爬虫篇)
  7. 使用Scala语言开发GUI界面的计算24点的游戏应用
  8. 运营商计算机笔试题库及答案,计算机笔试题库及答案
  9. Jedis实现抽奖功能
  10. MySQL由于找不到msvcp140.dll无法继续执行代码