foreach ($guild_rank_info as $key => $value) { if ($value['server_id'] == $server_id) { $this_rank_info[$key + 1] = $value; } } $res = array(); foreach ($guild_awardcfg_info as $vcfg) { foreach ($this_rank_info as $rank => $v) { if ($rank >= $vcfg['range'][0] && $rank <= $vcfg['range'][1]) { $res[$v['guild_id']] = $vcfg['award_list']; } } } //发奖 if (!empty($res)) { $guild_handle = Guild::make(); foreach ($res as $gid => $award_list) { $rids = $guild_handle->get_guild_member_ids($gid); // 公会成员ID if (!empty($rids)) { foreach ($rids as $rid) { $role_handle = Role::make($rid); $award_handle = $role_handle->get_role_class_handle('award'); $award_handle->execute_award($award_list); echo $rid . "\n"; } } } } // 记录发奖期数 $log_data = array($date_fmt => 1);