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)
上一篇 2022年8月11日 下午3:16
下一篇 2022年8月11日 下午3:36


相关推荐

  • 按位异或运算符的讲解 (详细)

    按位异或运算符的讲解 (详细)按位异或运算按位异或运算是数学或者计算机中运用到的数据处理的方法。感觉是一种思路,当然也是运用到了他的原理。异或运算首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则为1,相同则为0.改方法被广泛用来统计一个数的1的位数。即:0^0=0,0^1=1,1^0=1,1^1=0,按位异或的3个特点:1.)0^0=0,0^1=1,0异或任何数=任何数。2.)1^0=1,1^1=

    2022年6月5日
    61
  • IIS http 500 内部服务器错误 (解决方案)「建议收藏」

    IIS http 500 内部服务器错误 (解决方案)「建议收藏」 第一步:“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IISOut-Of-ProcessPooled”鼠标右键“属性”–“标识”–把“此用户”调整为“交互式用户–目前已登录的用户”。然后“确定”,再鼠标右键“属性”–“启动”.第二步:“开始”->“管理工具”-

    2022年8月12日
    11
  • PKI体系和数字证书[通俗易懂]

    PKI体系和数字证书[通俗易懂]PKI体系【通过使用公钥技术和数字签名来确定信息安全,并负责验证数字证书持有者的身份的一种技术】PKI的组成?公钥加密技术、数字证书、CA(授权机构)、RA(注册机构)数据加密的过程是?(对称加密)a.发送方A用接收方B的公钥加密数据b.接收方B用自己的私钥解密数据数字签名的过程是?(非对称加密)a.被发送文件被用某种HASH算法产生“数字摘要”;b.发送方用自己的私钥对“数字摘要”进行加密,形成数字签名;c.将源文件和加密的摘要同时传给对方;d.接收方用发送方的公钥对摘要进行解密、同

    2022年8月22日
    13
  • Newtonsoft 六个超简单又实用的特性,值得一试 【上篇】

    Newtonsoft 六个超简单又实用的特性,值得一试 【上篇】一 讲故事看完官方文档 阅读了一些 Newtonsoft 源码 对它有了新的认识 先总结六个超经典又实用的特性 同大家一起分享 废话不多说 快来一起看看吧 二 特性分析 1 代码格式化如果你直接使用 JsonConvert SerializeObj 的话 默认情况下所有的 json 是挤压在一块的 特别不方便阅读 如下所示 staticvoidMa string args varreportMod

    2025年9月3日
    4
  • 建立数据库链接_html连接数据库

    建立数据库链接_html连接数据库建立数据库链接CREATE[public]DATABASELINK数据库链接名CONNECTTO用户名IDENTIFIEDBY密码USING数据库连接字符串;说明:   1.一般情况PUBLIC由数据库管理员来创建;个人用户可以不加public,是私有的数据库链接;   2.数据库连接字符串可以用NET8EASYCONFIG或者直接修改TNSNAMES.OR

    2025年11月30日
    8

发表回复

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

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