sonName = $son;
$this->parentName = $parent;
}
/**
* 根据传递的父类ID获取所有的子级分类
* 组合一维数组
* @param [type] $data 分类数组
* @param integer $pid 父类id
* @param integer $lev 父类所属层级
* @return [type] 格式化后的数组信息
*/
public function unlimitedForLevel($data, $pid = 0, $lev = 0) {
$arr = array();
foreach($data as $v) {
if($v[$this->parentName] == $pid) {
$v['lev'] = $lev + 1;
$arr[] = $v;
$arr = array_merge($arr, self::unlimitedForLevel($data, $v[$this->sonName], $lev + 1));
}
}
return $arr;
}
/**
* 根据传递的父类ID获取所有的子级分类
* 组合多维数组
* @param [type] $data 分类数组
* @param integer $pid 父类id
* @return [type] 格式化后的数组信息
*/
public function unlimitedForLayer($data, $pid = 0) {
$arr = array();
foreach($data as $v) {
if($v[$this->parentName] == $pid) {
$v['children'] = self::unlimitedForLayer($data, $v[$this->sonName]);
$arr[] = $v;
}
}
return $arr;
}
/**
* 根据传递子类ID获取所有的父级分类
* @param [type] $data 分类数组
* @param integer $id 子类id
* @return [type] 父类数组信息
*/
public function getParents($data, $id) {
$arr = array();
foreach($data as $v) {
if($v[$this->sonName] == $id) {
$arr[] = $v;
$arr = array_merge(self::getParents($data, $v[$this->parentName]), $arr);
}
}
return $arr;
}
/**
* 根据传递的父类ID获取所有的子级分类ID
* 注意返回值中不包括传递进来的父类ID
* @param [type] $data 分类数组
* @param [type] $pid 父类id
* @return [type] 子类id数组
*/
public function getChildsID($data, $pid) {
$arr =array();
foreach($data as $v) {
if($v[$this->parentName] == $pid) {
$arr[] = $v[$this->sonName];
$arr = array_merge($arr, self::getChildsID($data, $v[$this->sonName]));
}
}
return $arr;
}
/**
* 根据传递的子类ID获取所有的父类ID
* 注意返回值中不包括传递进来的子类ID
* @param [type] $data 分类数组
* @param [type] $id 子类id
* @return [type] 父类id数组
*/
public function getParentsID($data, $id) {
$arr = array();
foreach($data as $v) {
if($v[$this->sonName] == $id) {
$arr[] = $v[$this->parentName];
$arr = array_merge($arr, self::getParentsID($data, $v[$this->parentName]));
}
}
return $arr;
}
} 0
0
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。
90
2026.02.06
本专题汇总了快手网页版的最新入口地址和电脑版使用方法,详细提供快手官网直接访问链接、网页端操作教程,以及如何无需下载安装直接观看短视频的方式,帮助用户轻松浏览和观看快手短视频内容。
15
2026.02.06
本专题深入讲解 C# 中多线程与异步编程的核心概念与实战技巧,包括线程池管理、Task 类的使用、async/await 异步编程模式、并发控制与线程同步、死锁与竞态条件的解决方案。通过实际项目,帮助开发者掌握 如何在 C# 中构建高并发、低延迟的异步系统,提升应用性能和响应速度。
10
2026.02.06
本专题系统讲解 Python 微服务架构设计与 FastAPI 框架应用,涵盖 FastAPI 的快速开发、路由与依赖注入、数据模型验证、API 文档自动生成、OAuth2 与 JWT 身份验证、异步支持、部署与扩展等。通过实际案例,帮助学习者掌握 使用 FastAPI 构建高效、可扩展的微服务应用,提高服务响应速度与系统可维护性。
6
2026.02.06
本专题深入讲解 JavaScript 异步编程与事件驱动架构,涵盖 Promise、async/await、事件循环机制、回调函数、任务队列与微任务队列、以及如何设计高效的异步应用架构。通过多个实际示例,帮助开发者掌握 如何处理复杂异步操作,并利用事件驱动设计模式构建高效、响应式应用。
7
2026.02.06
热门下载
精品课程




