首页 > 作文

PHP使用递归按层级查找数据的方法

更新时间:2023-04-08 05:53:04 阅读: 评论:0

今天主要介绍一下使用递归来按层级查找数据。

原理挺简单的,主要是通过父级id一级一级的循环查找子级,使用ph流速计算公式p循环代码也很容易实现,不过如果层级越多,php重复代码也越多,这时可以使用递归来实现这功能。

1、首先查出要使用的数据组成一个数组(避免递归里查询数据库,之后根据这个数组组中职成自己需要的数据就可以本科排名了)
比如得到如下数据:

$data = [ ['id学生会工作计划' => '1', 'pid' => '0', 'dsp' => '1'], ['id' => '2', 'pid' => '0', 'dsp' => '2'], ['id' => '3', 'pid' => '0', 'dsp' => '3'], ['id' => '4', 'pid' => '1', 'dsp' => '1-4'], ['id' => '5', 'pid' => '4', 'dsp' => '1-4-5'], ['id' => '6', 'pid' => '5', 'dsp' => '1-4-5-6'], ['id' => '7', 'pid' => '3', 'dsp' => '3-7'], ['id' => '8', 'pid' => '2', 'dsp' => '2-8'], ['id' => '9', 'pid' => '1', 'dsp' => '1-9'], ['id' => '10', 'pid' => '4', 'dsp' => '1-4-10'],];

2、接下来使用递归重组数据,使数据按层级显示。

/** * 根据父级id查找子级数据 * @param $data  要查询的数据 * @param int $pid 父级id */public function recursion($data, $pid = 0){ static $child = []; // 定义存储子级数据数组 foreach ($data as $key => $value) {  if ($value['pid'] == $pid) {   $child[] = $value; // 满足条件的数据添加进child数组   unt($data[$key]); // 使用过后可以销毁   $this->recursion($data, $value['id减肥期间早餐吃什么好']); // 递归调用,查找当前数据的子级  } } return $child;}

得到结果:

[ { "id": "1", "pid": "0", "dsp": "1" }, { "id": "4", "pid": "1", "dsp": "1-4" }, { "id": "5", "pid": "4", "dsp": "1-4-5" }, { "id": "6", "pid": "5", "dsp": "1-4-5-6" }, { "id": "10", "pid": "4", "dsp": "1-4-10" }, { "id": "9", "pid": "1", "dsp": "1-9" }, { "id": "2", "pid": "0", "dsp": "2" }, { "id": "8", "pid": "2", "dsp": "2-8" }, { "id": "3", "pid": "0", "dsp": "3" }, { "id": "7", "pid": "3", "dsp": "3-7" }]

总结

以上所述是www.887551.com给大家介绍的php使用递归按层级查找数据的方法,希望对大家有所帮助!

本文发布于:2023-04-08 05:53:02,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/204d3922a7e3693fae8ae2354a171b9b.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP使用递归按层级查找数据的方法.doc

本文 PDF 下载地址:PHP使用递归按层级查找数据的方法.pdf

下一篇:返回列表
标签:递归   数据   层级   数组
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图