递归函数php啥意思,php递归函数如何用才有效?php递归函数例子

递归函数php啥意思,php递归函数如何用才有效?php递归函数例子本篇介绍有关 php 递归函数的用法 同时分享几个 php 递归函数的例子 在 php 编程中 使用递归进行函数调用很常见 递归函数用的好 可以提高代码效率 通过例子学习 php 递归函数的使用 一 什么是递归函数 一个函数在它的函数体内调用它自身称为递归调用 这种函数称为递归函数 php 递归函数与非递归函数有什么区别 例一 使用静态变量代码示例 functiontest static

本篇介绍有关 php递归函数的用法,同时分享几个 php 递归函数的例子,在 php 编程中,使用递归进行函数调用很常见,递归函数用的好,可以提高代码效率,通过例子学习 php 递归函数的使用。

一、什么是递归函数?

一个函数在它的函数体内调用它自身称为递归调用。 这种函数称为递归函数。

php 递归函数与非递归函数有什么区别?

例一:使用静态变量

代码示例:

function test(){

static $dig=0;

if($dig++<10){

echo $dig;

test();

}

}

test();//

例二:使用递归函数和循环实现字符串逆转排列

代码示例:

function unreverse($str){

for($i=1;$i<=strlen($str);$i++){

echo substr($str,-$i,1);

}

}

unreverse(“abcdefg”);//gfedcbc

function reverse($str){

if(strlen($str)>0){

reverse(substr($str,1));

echo substr($str,0,1);

return;

}

}

reverse(“abcdefg”);//gfedcbc

二、php 递归函数使用实例

php 递归使用示例(php 递归函数),包括递归获得角色 ID 字符串、递归获取级联角色信息数组、通过父角色的 id 获取子角色信息。

例子:

代码示例:

//递归获得角色 ID 字符串

function explodeRole($roleObj, &$resultStr){

if(0 < count($roleObj->childRoleObjArr)){

foreach($roleObj->childRoleObjArr as $childRoleObj){

if(” == $resultStr){

$resultStr .= “{$childRoleObj->id}”;

}else{

$resultStr .= “, {$childRoleObj->id}”;

}

explodeRole($childRoleObj, $resultStr);

}

}

}

//递归获取级联角色信息数组

function makeRoleRelation(&$roleObjArr){

foreach($roleObjArr as $item){

$item->childRoleObjArr = getRoleObjArrByParentId($item->id);

if(0 < count($item->childRoleObjArr)){

makeRoleRelation($item->childRoleObjArr);

}

}

}

//通过父角色的 id 获取子角色信息

function getRoleObjArrByParentId($parentid){

$operCOGPSTRTSysRole = new COGPSTRTSysRole();

$operCOGPSTRTSysRole->setColumn($operCOGPSTRTSysRole->getAllColumn());

$operCOGPSTRTSysRole->setWhere(“parentroleid={$parentid}”);

$roleObjArr = $operCOGPSTRTSysRole->convResult2ObjArr($operCOGPSTRTSysRole->selectTable());

return isset($roleObjArr)?$roleObjArr:array();

}

php 递归函数用法

例 1:使用静态变量实现递归。

代码示例:

function test(){

static $dig=0;

if($dig++<10){

echo $dig;

test();

}

}

test();//

例 2:使用递归函数和循环实现字符串逆转排列。

代码示例:

function unreverse($str){

for($i=1;$i<=strlen($str);$i++){

echo substr($str,-$i,1);

}

}

unreverse(“abcdefg”);

//gfedcbc

function reverse($str){

if(strlen($str)>0){

reverse(substr($str,1));

echo substr($str,0,1); return;

}

}

reverse(“abcdefg”);//gfedcbc

php 递归函数有时可以循环替代,建议当不能用循环替代时再用,因为用循环我们更容易理解,更不容易出错。 php 递归函数 php 支付递归函数,递归函数就是调用自己本身,这些函数特别适用于浏览动态数据结构,例如树和列表。 几乎没有 web 应用程序要求使用复杂的数据结构。

例子:

复制代码 代码示例:

0) reverse_r(substr($str,1)); echo substr($str,0,1); return; } ?>

这个程序清单中实现两个函数,这两个函数都可以相反的顺序打印字符串的内容 函数 reversr_r 是通过递归实现的,而函数 reverse_i()是通过循环实现的。

女程序员博客 , 版权所有丨本站采用BY-NC-SA协议进行授权 , 转载请注明php 递归函数如何用才有效?php 递归函数例子!

【声明】:本博客仅为分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。

【关于安全】:任何 IDC 都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。

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

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

(0)
上一篇 2026年3月18日 下午2:55
下一篇 2026年3月18日 下午2:56


相关推荐

  • 【转载】三方框架整理

    【转载】三方框架整理github 地址系统控件 TextView 一个功能强大的 TextView 可以满足日常大部分布局方式 Facebook 开源文本布局库 一个对齐 TextView 文本的库 自适应大小和行的 TextView Android 修改 6 0 系统文本选择菜单 歌词显示控件 支持多行显示 拖曳播放 自动识别歌词文件的编码 非常实用的省略控件 无 emoji 截断之乱码 无 charactersty 截断之不雅 歌词风格的 TextView 利用 Gradient 渐变实现 通过

    2026年3月26日
    1
  • qtav—-ffmeg在ubuntu和win10上的编译和运行

    qtav—-ffmeg在ubuntu和win10上的编译和运行最近在windows上和ubuntu上都安装了qtav并且通过了编译测试,实测播放中英文的视频文件功能正常,有图像有声音。大致情况是,操作系统ubuntu:wkr@sea-X550JK:~$cat/etc/os-releaseNAME=”Ubuntu”VERSION=”16.04.4LTS(XenialXerus)”ID=ubuntuID_LIKE=debianPRETTY_…

    2025年12月2日
    4
  • setfacl 权限导出_linux学习-setfacl设置特定目录用户权限

    setfacl 权限导出_linux学习-setfacl设置特定目录用户权限需求:设置用户test,test1对特定的目录有读写执行权限,后加的文件也是这个权限。-R表示递归-m表示设置文件acl规则setfacl-R-md:u:test:rwx/data2/testsetfacl-R-md:u:test1:rwx/data2/test–删除ACL规则使用-bsetfacl-R-b/data2/test上面的d:u:详见如下,而perms对应的是…

    2022年6月22日
    39
  • 2021phpstrom激活码破解方法「建议收藏」

    2021phpstrom激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    41
  • 可视化希尔排序算法是什么_希尔排序一趟排序的结果

    可视化希尔排序算法是什么_希尔排序一趟排序的结果如需转载请标明出处:https://blog.csdn.net/zhuzi9QQ技术交流群:594200841前言概念介绍希尔排序是基于插入排序算法的一种更高效的改进版本。它是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越少,当增量减少至1时,整个文件恰被分成一组。此时算法便终止。原理讲解以[41243421917]这个序列为例说明希尔排序算法的实现原理未开始遍历时,此时效果如下图由上面数组可知

    2022年10月2日
    4
  • nifi集群_nifi架构

    nifi集群_nifi架构nifi 是运行在 jvm 上的一个软件 NIFI 的主要组成部分如下 WebServer 网络服务 WebServer 的主要作用是提供网页服务和 restapiFlowC 流控制器 FlowControll 是 NIIF 操作的大脑 它为处理器 processor 提供线程执行任务 同时管理处理器的执行调度 Extensions Preocessor 处理器 NIFI 中拥有众多的类

    2026年3月19日
    2

发表回复

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

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