PHP生成rbac树形结构数据
/**
* 定义函数递归调用获得需要的结构的数组
* @param array $arrs 递归后的值
* @param array $data 需要整理的数组
* @param array $rules 角色所拥有的权限
* @param int $pid 父id
* @return mixed 规定格式的数组
*/
function recur($arrs,$data,$rules = [],$pid = 0)
{
foreach ($data as $k => $v)
{
//判断该节点是否有子节点
if($v['pid'] == $pid)
{
//如果有,将该节点作为信息作为父几点
$v['status'] == 1 ? $status = false : $status = true;
$spread = false;
if(in_array($v['id'],$rules))
{
$spread = true;
}
$arr = ['title' => $v["title"],'id'=>$v['id'],'spread'=>$spread,'disabled'=>$status,'children'=>[]];
//递归调用recur函数,将子节点的id作为pid传回去,判断是否有子节点,然后将值赋予到现在即诶但的子节点,知道数组循环结束
$arr['children'] = recur($arr["children"],$data,$rules,$v['id']);
//执行完递归后将结果追加到空数组中
array_push($arrs,$arr);
}
}
return $arrs;
}
解压密码: detechn或detechn.com
免责声明
本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
谢谢分享