Rumah > php教程 > php手册 > php递归使用示例(php递归函数)

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

WBOY
Lepaskan: 2016-06-06 20:24:52
asal
1087 orang telah melayarinya

这篇文章主要介绍了php递归使用示例(php递归函数),包括递归获得角色ID字符串、递归获取级联角色信息数组、通过父角色的id获取子角色信息,需要的朋友可以参考下

复制代码 代码如下:


//递归获得角色ID字符串
function explodeRole($roleObj, &$resultStr){
    if(0 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 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();
}

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan