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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql存储过程语法详解

    sql存储过程语法详解一、定义变量使用关键字declare申明变量:declare@变量名变量类型/*简单赋值*/declare@aintset@a=5print@a/*select赋值*/declare@bnvarchar(10)select@b=stu_namefromdbo.studentwherestu_id=6print@b/…

    2022年7月17日
  • JAVA中String的深入研究

    每次上网冲杯Java时,都能看到关于String无休无止的争论。还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸裸的站在我们这些Java色狼面前了。嘿嘿….众所周知,String是由字符组成的串,在程序中使用频率很高。Java中的String是一个类,而并非基本数据类型。 不过她却不是普通的类哦!!! 【镜头1】 String对象的创建       1、关于

    2022年3月11日
  • 数据库锁机制[通俗易懂]

    数据库锁机制[通俗易懂]1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2为另一个线程。T3,T4以此类推。下面以SQLServer(2005)为例。2 锁的种类共享锁(Sharedlock)。例1:——–

    2022年6月29日
  • phpstome 激活码【注册码】

    phpstome 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
  • java search.addfilteror_java list toarray

    java search.addfilteror_java list toarray本文整理匯總了Java中de.invesdwin.util.lang.Strings.isNotBlank方法的典型用法代碼示例。如果您正苦於以下問題:JavaStrings.isNotBlank方法的具體用法?JavaStrings.isNotBlank怎麽用?JavaStrings.isNotBlank使用的例子?那麽恭喜您,這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了…

    2022年8月12日
  • 如何用python画心形_用python制作音乐

    如何用python画心形_用python制作音乐用python绘制爱心的基本步骤如下:首先先下载安装好python程序。在我们自己的电脑上找到python的IDLE工具。2.然后打开IDLE,新建一个文件,命名为test1.py。3.接着我们就开始导入turtle库,然后编辑代码。importturtleimporttime#画心形圆弧defhart_arc():foriinrange(200):turtle.right(1)t…

    2022年9月7日

发表回复

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

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