php递归使用示例(php递归函数)


Posted in PHP onFebruary 14, 2014
//递归获得角色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的递归函数用法

一个函数在它的函数体内调用它自身称为递归调用。这种函数称为递归函数。这对于程序员来说,通常有很高的实用价值,常用来将复杂的问题分解为简单的并相同的情况,反复做这种处理直到问题解决。

用递归函数与不用递归函数的区别

示例一:使用静态变量

function test(){
  static $dig=0;
  if($dig++<10){
    echo $dig;
    test();
  }
}
test();//12345678910

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

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支付递归函数,递归函数就是调用自己本身,这些函数特别适用于浏览动态数据结构,例如树和列表。
几乎没有web应用程序要求使用复杂的数据结构

<?php
function reversr_r($str)
{
if (strlen($str)>0)
reverse_r(substr($str,1));
echo substr($str,0,1);
return;
}
?>

<?php
function reverse_i($str)
{
for($i=1;$i<=strlen($str);$i++)
{
echo substr($str,-$i,1);
}
}

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

PHP 相关文章推荐
PHP 和 COM
Oct 09 PHP
PHP 模板高级篇总结
Dec 21 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
php中inlcude()性能对比详解
Sep 16 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
Aug 16 PHP
PHP中Http协议post请求参数
Nov 02 PHP
PHP中使用GD库绘制折线图 折线统计图的绘制方法
Nov 09 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
Python中使用django form表单验证的方法
Jan 16 PHP
php微信开发之音乐回复功能
Jun 14 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 #PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 #PHP
php中simplexml_load_string使用实例分享
Feb 13 #PHP
使用php显示搜索引擎来的关键词
Feb 13 #PHP
php根据日期判断星座的函数分享
Feb 13 #PHP
php的hash算法介绍
Feb 13 #PHP
php去除字符串换行符示例分享
Feb 13 #PHP
You might like
1 Tube Radio
2021/03/02 无线电
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
最后说说Vue2 SSR 的 Cookies 问题
2018/05/25 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
Python多进程编程常用方法解析
2020/03/26 Python
Python ORM框架Peewee用法详解
2020/04/29 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
python3实现飞机大战
2020/11/29 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
Hotels.com越南:酒店预订
2019/10/29 全球购物
硕士研究生自我鉴定范文
2013/12/27 职场文书
领导的自我鉴定
2013/12/28 职场文书
餐厅总经理岗位职责
2013/12/31 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
2015年财务部工作总结
2015/04/10 职场文书
资金申请报告范文
2015/05/14 职场文书
学术研讨会主持词
2015/07/04 职场文书