您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> php编程 >> 正文

php递归使用示例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了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(); }