把前32名的成绩查出来,分别发奖励,但是前3名叠加了5次

南苑 2017-12-24 02:04:12
 private function   Wsgetaward($list)
{

$bonus = array();//奖金
foreach ($list as $key => &$value) {
$bonus[$value['numid']] = $this->Useraward($value['rank'],$value['count']);

}
$numid = array_keys($bonus);
//用户id数组

$newarr = array_slice($bonus,0,32);
//前32名成绩
foreach ($newarr as $k=>$v){
Vips::updateCount($numid[$k],$bonus[$k]['vip'],1,1,'day');
Shop::updateCount($numid[$k],$bonus[$numid[$k]]['count'],1,1);
$data =Purse::addSliver($numid[$k],$bonus[$numid[$k]]['sr']);
$beforePurse = Purse::getUserPurse($numid[$k]);
if($data){
$logUserPurse = new LogUserPurse();
$logUserPurse->numid = $numid[$k];
$logUserPurse->purse = $bonus[$numid[$k]]['sr'];
$logUserPurse->before_purse = $beforePurse;
$logUserPurse->after_purse = intval($beforePurse) + intval($bonus[$numid[$k]]['sr']);
$logUserPurse->source = HelpsController::iconvStr('比赛银子奖励','','gbk');
$logUserPurse->relate_data = json_encode(array('source'=>$bonus[$numid[$k]]['sr']));
$logUserPurse->addtime = time();
$logUserPurse->save();
}

}



}




public function Useraward($rank,$count){
if ($rank < 3) {
//一二名--100000

$sr = 1000000;
$vip = 60;

}elseif($rank < 5){
//三四名--50000
$sr = 500000;
$vip = 30;
}elseif ($rank<9) {
//五六七八--10000
$sr = 200000;
$count = 200;
}elseif ($rank<16){
$sr = 100000;
$count = 100;

}elseif ($rank <32){
$sr = 50000;

}
if($count>=30){
$vip = 5;
}
return ['sr'=>$sr,'vip'=>$vip,'count'=>$count];

}
...全文
301 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
南苑 2017-12-24
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
     switch($rank) {
        case $rank < 3:
            //一二名--100000 
            $sr = 1000000;
            $vip  = 60;
            break;
        case $rank < 5:
            //三四名--50000
            $sr = 500000;
            $vip = 30;
            break;
        case $rank<9:
            //五六七八--10000
            $sr = 200000;
            $count = 200;
            break;
        case $rank<16:
            $sr = 100000;
            $count = 100;
            break;
        case $rank <32:
            $sr = 50000; 
        }
        if($count>=30){
            $vip = 5;
        }
        return ['sr'=>$sr,'vip'=>$vip,'count'=>$count];
谢谢版主了
xuzuning 2017-12-24
  • 打赏
  • 举报
回复
     switch($rank) {
        case $rank < 3:
            //一二名--100000 
            $sr = 1000000;
            $vip  = 60;
            break;
        case $rank < 5:
            //三四名--50000
            $sr = 500000;
            $vip = 30;
            break;
        case $rank<9:
            //五六七八--10000
            $sr = 200000;
            $count = 200;
            break;
        case $rank<16:
            $sr = 100000;
            $count = 100;
            break;
        case $rank <32:
            $sr = 50000; 
        }
        if($count>=30){
            $vip = 5;
        }
        return ['sr'=>$sr,'vip'=>$vip,'count'=>$count];

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧