/** * @param $data 数据(二维数组格式) * @param $adminId 管理员ID * @param $pid 权限的上级ID * @param int $level 水平变量 默认为 1 自增。 * @return array|IlluminateHttpJsonResponse * 左侧导航,运用无限极分类实现、(循环的方式) */ public function leftMenu($data, $adminId,$pid,$level = 1){ try{ $subs = array(); //使用递归方式,循环左侧导航。 foreach ($data $k => $v) { if($v->pid == $pid){ $v->level=$level; $subs[]=[ 'id' => $v->id, 'admin_name' => $v->name, 'role_id' => $v->role_id, 'pid' => $v->pid, 'title' => $v->title, 'urls' => $v->urls, 'level' => $level ]; $subs = array_merge($subs,self::leftMenu($adminId,$v->id,$level+1)); } } return $subs; }catch (Exception $e){ return response()->json(['message' => $e->getMessage()]); } }
因为使用的是laravel框架 所以我在foreach 循环出来的数据是对象格式的数组 就用到了 ->