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

php 递归函数 示例,php递归使用示例(php递归函数)//递归获得角色ID字符串functionexplodeRole($roleObj,&$resultStr){if(0<count($roleObj->childRoleObjArr)){foreach($roleObj->childRoleObjArras$childRoleObj){if(”==$resultStr){$resultStr.=”{…

83ab83847720e462805635ed9e6eb9b1.png

//递归获得角色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递归函数用法

4ebf494e7cfda5399af4d259bf6f9a6f.png

在函数体内调用自身的函数称为递归调用. 这样的函数称为递归函数. 对于程序员来说递归函数例子,这通常具有很高的实用价值. 它通常用于将复杂的问题分解为简单且相同的情况,然后重复执行此过程,直到问题解决为止.

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

3122cb0073a0a5cb20bde89793219991.png

示例1: 使用静态变量

function test(){

static $dig=0;

if($dig++<10){

echo $dig;

test();

}

}

test();//12345678910

0ea423dceb0d0a9dd83b77f92fcbc44b.png

示例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

417318151552f27ee3afd3b44c12affe.gif

在许多情况下,递归函数可以由循环代替. 建议在无法使用循环的情况下使用循环递归函数例子,因为循环更易于理解且不易出错.

php递归函数php付款递归函数,递归函数是调用自身,这些函数特别适合浏览动态数据结构,例如树和列表.

很少有Web应用程序需要复杂的数据结构

function reversr_r($str)

{

if (strlen($str)>0)

reverse_r(substr($str,1));

echo substr($str,0,1);

return;

}

?>

function reverse_i($str)

{

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

{

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

}

}

此程序列表中实现了两个函数,并且两个函数都可以以相反的顺序打印字符串的内容

reverser_r函数通过递归实现,reverse_i()函数通过循环实现

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-166954-1.html

今天的文章php 递归函数 示例,php递归使用示例(php递归函数)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/33681.html

(0)
编程小号编程小号

相关推荐

发表回复

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