php通过递归获取分公司的上下级数据

2023-11-04

1.表结构

在这里插入图片描述

2.php核心代码

/**
 * @param $branches 全部分公司数据
 * @param $parentId 查询的分公司id,传0则全部排序。大于0,则查询该分公司下的下级
 * @param int $level 层级,方便界面特效
 * @param int $level_grade 层级叠加数
 * @return array
 */
function findBranches($branches, $parentId, $level = 0,$level_grade = 3) {
    $result = [];
    foreach ($branches as $branch) {
        if ($branch['parent_id'] == $parentId) {

            $children = findBranches($branches, $branch['bid'],$level+$level_grade);

            if ($children)
            {
                $branch['children'] = $children;
            }

            if($branch)
            {
                $branch['id']          = $branch['bid'];
                $branch['function_cn'] = $GLOBALS['_LANG']['dept_function'][$branch['function']];
                $branch['level']       = $level;

            }

            $result[] = $branch;
        }
    }
    return $result;
}

3.调用

//递归查询数组,树形
$branches = findBranches($arr, $select_id,$level,$level_grade);

4.返回结构、

在这里插入图片描述

5.说明

1.分公司的parent_id要正常,不能关系错乱,不然容易出现死循环
2.想把上面的数据转二维数组方便显示,搜索本人的文章:递归数据转二维数组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php通过递归获取分公司的上下级数据 的相关文章

  • 保存多对多关系,同步/附加不存在?

    我有以下两个多对多关系的模型 use Illuminate Database Eloquent Model class Permission extends Model The database table used by the mode
  • 如何使用 PHP 对字符串进行 rot13 处理?

    我有一个很大的 php 代码 我想手动对其进行编码和解码 我的问题是 php 代码里面有很多单引号和双引号 因此我在使用时出现错误str rot13 功能如下 那么正确的语法是什么以及如何使用下面的函数进行编码 str rot13 That
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • 获取 YouTube 最高缩略图分辨率

    我想获得 youtube 最高缩略图 maxresdefault jpg 像这个 http i ytimg com vi Cj6ho1 G6tw maxresdefault jpg http i ytimg com vi Cj6ho1 G6
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert

随机推荐

  • Google亲儿子 Nexus/Pixel 手机刷机Root之旅

    简介 本文介绍的方法是针对Google亲儿子的教程 其他国内厂商请绕道 1 解锁 1 1 OEM解锁 想要做下面这些事 需要先在开发者选项里打开oem解锁 如果你的手机是V版 运营商定制版 请看这里 oem解锁选项灰色 1 2 进入boot
  • 【JDBC】关于JDBC入门和一些见解

    关于JDBC的一些理解和总结 JDBC连接数据库 刚开始学的时候经常忘记步骤 其实多了几次之后发现完全就是自己没有理解到原理 现在回头看还是挺有意思的 分为以下几个步骤 1 注册加载JDBC驱动 把Driver装进JVM Class for
  • Centos 7 重启网卡报错解决方案

    一 Network 当重启网卡时报错 解决方案 步骤1 修改对应文件 增加命令 步骤2 关闭NetworkManager服务 并重启网卡 systemctl stop NetworkManager systemctl restart net
  • 解谜元宇宙元年的十个疑问

    解谜元宇宙元年的十个疑问 2021年 元宇宙突然出现在大家的视野之中 相关概念受到资本的热捧 成为金融市场的热点 这难免会让我们对元宇宙产生很多好奇和疑问 本文总结了十个对元宇宙的疑问 并一一作出解答 2021年为什么是元宇宙元年 元宇宙
  • 关于运算放大器电流流向的问题

    前言 一 问题的引入 二 提出问题 三 问题解答 写在结尾的话 前言 问题缘起于一次硬件同事之间的讨论 虽然目前我不是做硬件的 但签于我的专业以及之前从事的工作 觉得有必要把记录下来 后期也打算写一些站在学习者的角度 关于硬件知识的学习心得
  • 数字电路和模拟电路-8触发器

    前言 掌握锁存器原理及应用 基本SR锁存器 钟控SR锁存器 钟控D锁存器 钟控D锁存器的动态参数 掌握触发器原理及应用 主从触发器 维持阻塞触发器 其它功能的触发器 目录 一 基本SR锁存器 1 双稳态电路 Bistate Elements
  • Android系统Unity使用HttpWebRequest访问Https请求出现连接超时

    多渠道版本配置网络地址时 http地址替换为了https 由于粗心大意 之前同事遗留的请求框架代码没有对https协议进行 处理 导致在android手机下unity访问https地址进行配置文件下载更新时出现连接超时问题 解决方案 if
  • word vba设置表格样式

    Sub 表格处理 功能 光标在表格中处理当前表格 否则处理所有表格 Application ScreenUpdating False 关闭屏幕刷新 Application DisplayAlerts False 关闭提示 On Error
  • java连接db2数据库示例代码_java实现连接db2数据库的代码实例

    java实现连接db2数据库的代码实例 第一种 目前ibm一直都没有提供type 1的jdbc驱动程序 第二种 类型2驱动 com ibm db2 jdbc app db2driver 该驱动也位于包db2java zip中 jdk必须能访
  • uniapp 微信小程序长按识别二维码,跳转小程序、个人微信

    前言 业务要求是小程序放一个二维码图片 长按可以识别二维码 进而识别出个人微信 添加个人微信 我们可以通过uni previewImage OBJECT 或者 wx previewImage Object object 预览当前图片去实现
  • 24-系统自带的 Win+R 功能

    Win 运行窗口 Win R 开始菜单 gt 运行 是 Windows 的一个原生的功能 从 XP 到 Windows 10 都自带了 当用户按下快捷键 Win R Win 为键盘上Windows图标键 后 系统会弹出一个小窗口让你输入命令
  • 用户态虚拟化IO通道实现概览及实践(上)

    自虚拟化技术诞生起 提升虚拟化场景中IO设备性能和驱动的兼容性 可扩展性一直是备受关注和追求的目标 随着半虚拟化技术的出现 virtio设备及驱动也很快流行并逐步变成了虚拟化应用中的主要IO通道形态 例如 virtio现已支持实现的设备涵盖
  • Dell IDRAC服务器重装系统详解(远程连接)

    主要的操作步骤文末附上的那篇博客写的比较详细了 不足的地方是有一些小问题没有说明白 导致新手可能不太清楚操作 而无法 复现 安装过程 TIPS 1 远程连接登录的时候 用户名root 密码calvin不一定可行 如果不行的话 看一下服务器机
  • 研一Python基础课程第四周课后习题分享(含源代码)

    代码写的较多 有问题可以私聊我 第四周作业分享 一 题目前言 二 题目分享 1 问题1 2 问题2 3 问题3 4 问题4 5 问题5 6 问题6 7 问题7 8 问题8 9 问题9 10 问题10 11 问题11 12 问题12 13 问
  • 深度学习之经典案例 CIFAR10 图形识别(jupyter)

    图像识别 CIFAR10图形识别 1 CIFAR10数据集共有60000张彩色图像 这些图像式32 32 3 分为10个类 每个类6000张 2 这里面有50000张用于训练 构成5个训练批 每一批10000张图 另外10000张用于测试
  • Centos7网卡配置——动态与静态

    Centos7网卡配置 一 自动获取动态IP地址 二 配置静态IP地址 三 修改网卡注意事项 四 基础知识 以下实例全部基于VM虚拟机操作 一 自动获取动态IP地址 1 输入命令 ip addr 查看IP地址 右下图可以发现只有一张名为en
  • git版本回退到某一次提交

    背景 今天一个前端女同事问我她如何才能回退到上一次她提交的版本 她网上找了方法 却没有起作用 问题虽然简单 但是还是记录下来 解决问题 使用命令 git log查看提交记录 并复制下想要回退到那个版本的commitId 就是commit后面
  • 医学图像肝脏分割(一)---预处理

    预处理是肝脏分割重要的一步 良好的预处理过程可以有效的提高分割的准确度 此博文主要记录肝脏分割过程中常见的预处理方法及相关代码 一 标准的预处理过程 1 Kaggle LUNA16 competition preprocessing tut
  • 创建Component的方式

    createClass createClass 组件的props state等都是以对象属性的方式组合在一起 其中默认属props和初始state都是返回对象的函数 component component state是通过在构造函数中对th
  • php通过递归获取分公司的上下级数据

    1 表结构 2 php核心代码 param branches 全部分公司数据 param parentId 查询的分公司id 传0则全部排序 大于0 则查询该分公司下的下级 param int level 层级 方便界面特效 param i