PHP递归算法_php递归函数详解

PHP递归算法_php递归函数详解先设置数据在本地数据库,设置前要先了解pid字段的关系。如果做成菜单还需添加一个路由字段,自行定义。第一种方式先将数据提取出转换成数组。重点是Yarray方法里的递归方式。接下来进行解析方式。重点:一定要在进行递归之前声明一个静态数组,不然会导致数组覆盖。剩下的就是注释的内容也就是判断父节点与节点来判断等级。这步指来回方法调用本身进行处理递归。最后数据会变成其中关系为pid数值存在与id下的下级关系,level为处于第几级;我们来输出一下看看结.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

先设置数据在本地数据库,设置前要先了解pid字段的关系。如果做成菜单还需添加一个路由字段,自行定义。

PHP递归算法_php递归函数详解

第一种方式

先将数据提取出转换成数组。重点是Yarray方法里的递归方式。

PHP递归算法_php递归函数详解

接下来进行解析方式。

PHP递归算法_php递归函数详解

重点:一定要在进行递归之前声明一个静态数组,不然会导致数组覆盖。剩下 的就是注释的内容也就是判断父节点与节点来判断等级。

PHP递归算法_php递归函数详解

这步指来回方法调用本身进行处理递归。

最后数据会变成

PHP递归算法_php递归函数详解

 其中关系为pid数值存在与id下的下级关系,level为处于第几级;

PHP递归算法_php递归函数详解

我们来输出一下看看结构;

PHP递归算法_php递归函数详解

 

第二种

还是从提取一个数组开始就不多叙述了;

PHP递归算法_php递归函数详解

接下来创建一个空数组;把提取出来的数据放进去;

PHP递归算法_php递归函数详解

进行第二次遍历循环,形成树状结构

PHP递归算法_php递归函数详解

 

这个方法的核心在于引用,php变量默认的传值方式是按指传递
也就是说 假如说 遍历顺序是 河北省 邯郸市 当遍历到河北省时 会把河北省放到tree中 遍历到邯郸市时 会把邯郸市放到河北省的子节点数组中 但是!!! 这会儿的tree数组中 河北省已经放进去了 根据php变量按值传递的规则 你并没有更改tree数组中的河北省的数据 所以这里用到了引用传递

看一下结果;

PHP递归算法_php递归函数详解

 如在前端使用,自己设置好foreach与if之间的嵌套;

又是学废的一天;

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169578.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • EnterpriseLibrary6.0 log2database

    EnterpriseLibrary6.0 log2database1、引用EnterpriseLibrary6.0相关dll2、安装Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix  主要为了方便编辑config文件,不是必须安装,安装后需要更改解决方案属性,将EnterpriseLibraryv6binariespath指向企业库6.0的bin目录3、执行sql脚本创…

    2022年10月20日
    2
  • 【mysql】锁详解

    【mysql】锁详解【mysql】锁详解

    2022年4月25日
    39
  • TCP-RST_tcp快速重传为什么是三次

    TCP-RST_tcp快速重传为什么是三次        在谈RST攻击前,必须先了解TCP:如何通过三次握手建立TCP连接、四次握手怎样把全双工的连接关闭掉、滑动窗口是怎么传输数据的、TCP的flag标志位里RST在哪些情况下出现。下面我会画一些尽量简化的图来表达清楚上述几点,之后再了解下RST攻击是怎么回事。1、TCP是什么?TCP是在IP网络层之上的传输层协议,用于提供port到port面向连接的可靠…

    2022年10月1日
    2
  • Go Modules 详解

    Go Modules 详解

    2022年2月19日
    285
  • CompletableFuture 使用介绍[通俗易懂]

    CompletableFuture 使用介绍[通俗易懂]本文安利一个Java8的工具CompletableFuture,这是Java8带来的一个非常好用的用于异步编程的类。还没使用过的小伙伴,赶紧用起来吧。本文不介绍它的实现源码,仅介绍它的接口使用,本文也不做它和RxJava等其他异步编程框架的对比。一、实例化首先,不管我们要做什么,我们第一步是需要构造出CompletableFuture实例。最简单的,我们…

    2022年6月28日
    29
  • 使用Laravel5做权限管理

    使用Laravel5做权限管理

    2021年10月26日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号