php 递归算法

php 递归算法通过递归实现阶乘functionmulti($n){

大家好,又见面了,我是你们的朋友全栈君。

通过递归实现阶乘

function multi($n){

    if($n == 0){
return 1 ;//终止递归
}
$value = $n * multi($n-1);
return $value;
}

通过递归实现斐波那契数列
function Fib($n){
if($n ==1||$n==0){
return 1;//终止递归
}
$value = Fib($n-1)+Fib($n-2);
return $value;
}
echo Fib(6);



$category = [
[
'id' =>1,
'name'=>'男装',
'pid'=>0,
],
[
'id'=>2,
'name'=>'女装',
'pid'=>0,

],
[
'id'=>3,
'name'=>'男士外套',
'pid' =>1,
],
[
'id' =>4,
'name'=>'夹克',
'pid' =>3,

],
[
'id'=>5,
'name'=>'棉衣',
'pid'=> 3,
],
];

通过父类ID获取所有的子类
function recursiveCategory($pid,$category){
$data = [];
foreach ($category as $item){
if($item['pid']==$pid){
$arr['id'] = $item['id'];
$arr['name'] = $item['name'];
$cate = recursiveCategory($item['id'],$category);
if(!empty($cate)){
$arr[] =$cate;
}
$data[] = $arr;
unset($arr);
}
}
return $data;
};

通过子类获取所有的父类
function getCategoryByChild($childId,$category){
$data = [];
foreach ($category as $item){
if($item['id'] == $childId){
$arr['id'] =$item['id'];
$arr['name']= $item['name'];
if($item['pid']!=0){
$arr[] = getCategoryByChild($item['pid'],$category);
}
$data[]=$arr;
}
}
return $data;
}












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

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

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


相关推荐

  • idea202112激活码永久【永久激活】

    (idea202112激活码永久)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月21日
    100
  • esp-idf的内存管理——tlsf算法

    esp-idf的内存管理——tlsf算法目录1最初还不是tlsf2为什么要引入tlsf3idf中使用的tlsf算法的设计与实现4源码走读参考1最初还不是tlsf2为什么要引入tlsf3idf中使用的tlsf算法的设计与实现4源码走读参考[1]半文钱的博客[2]upstream所在的github地址注意事项放到内存调试去说:用户需要关注的:内存的硬件特性(caps)内存的访问速度内存是否支持原子操作内存是否可以由CPU直接访问用户在使用时:用户自己也要对自己的应用需要使用的内存做一些安排,有的内存比

    2022年6月29日
    25
  • java web 前端开发框架和流程「建议收藏」

    java web 前端开发框架和流程「建议收藏」1 通常JavaWeb开发框架举个例子,对于广告系统的来说,我们先不管一些job,byOminentShopperHelper”style=”color:rgb(59,115,175);border:none!important;display:inline-block!important;float:none!important;font-weight

    2022年7月9日
    29
  • 两个一般性矩阵互相相似的条件

    两个一般性矩阵互相相似的条件在复习的时候突然遇到一个问题 两个普通矩阵怎么判定相似 之前遇到的题目里面都是使用相似对角化的方法 这里就不在仔细介绍 总结就是如果当前矩阵的每一个特征值的几何重数和代数重数均相等 则可以相似于一个对角阵 如果两个矩阵相似于同一个对角阵 则这两个矩阵相似 A BA sim Lambda simBA B 这样就要求 A 和 B 拥有同样的特征值 并且每一个特征值的几何重数等于代数重数 并且两矩阵对应特征值的几何重数也要相等 这样先然不是最简的条件 经过网上查询 发现两个矩阵相似不一定同时相似

    2025年8月5日
    4
  • Swift语言精要 – Dictionary(字典)

    Swift语言精要 – Dictionary(字典)

    2021年6月20日
    105
  • 好用又好玩的微信小程序大全「建议收藏」

    小马哥去合肥坐公交车,把小程序推广的更加的接地气和实用,微信的巨大用户量,让小程序有天然的流量入口,其次小程序不用下载安装耗费流量,占用手机的存储空间,启动速度比APP相当,下面是网友整理的目前好用的微信小程序大全,有的是软件开放的,有的可能是在好建小程序免费生成的,建议大家根据自己的喜好和需要收藏!【热门小程序】美团外卖滴滴公交查询车来了

    2022年4月11日
    50

发表回复

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

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