龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

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

时间:2014-05-23 15:01来源:网络整理 作者:网络 点击:
分享到:
这篇文章主要介绍了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();
}

精彩图集

赞助商链接