如何使用php计算大乐透的中奖金额是多少,php计算大乐透中奖金额方法

PHP 投稿 27900 1 评论

如何使用php计算大乐透的中奖金额是多少,php计算大乐透中奖金额方法

php计算大乐透中奖金额方法。


/**
 * @desc php计算大乐透中奖金额方法
 * @param string $buy_str 购买结果,类似 4+15+20+25+26+3+8
 * @param string $open_result_str 开奖结果,类似 4+15+20+25+26+2+8
 * @return array
 */
function countDltLottery($buy_str, $open_result_str) {
    $result = [
        'win_ammount' => 0,//中奖金额
        'lottery_level' => ''//中奖等级描述
    ];

    $buy_list = explode('+', $buy_str);
    $buy_red_list = array_splice($buy_list, 0, 5);
    array_walk($buy_red_list, function (&$value) {
        $value = intval($value);
    });
    $buy_blue_list = array_splice($buy_list, -2);
    array_walk($buy_blue_list, function (&$value) {
        $value = intval($value);
    });

    $open_result_list = explode('+', $open_result_str);
    $open_result_red_list = array_splice($open_result_list, 0, 5);
    array_walk($open_result_red_list, function (&$value) {
        $value = intval($value);
    });
    $open_result_blue_list = array_splice($open_result_list, -2);
    array_walk($open_result_blue_list, function (&$value) {
        $value = intval($value);
    });

    $red_lottery_num = count(array_intersect($buy_red_list, $open_result_red_list));
    $blue_lottery_num = count(array_intersect($buy_blue_list, $open_result_blue_list));

    if ($blue_lottery_num == 2) {
        switch ($red_lottery_num) {
            case 0:
            case 1:
                $result['win_ammount'] = 5;
                $result['lottery_level'] = '九等奖';
                break;
            case 2:
                $result['win_ammount'] = 15;
                $result['lottery_level'] = '八等奖';
                break;
            case 3:
                $result['win_ammount'] = 200;
                $result['lottery_level'] = '六等奖';
                break;
            case 4:
                $result['win_ammount'] = 3000;
                $result['lottery_level'] = '四等奖';
                break;
            case 5:
                $result['win_ammount'] = 10000000;
                $result['lottery_level'] = '一等奖';
                break;
        }
    } else if ($blue_lottery_num == 1) {
        switch ($red_lottery_num) {
            case 0:
            case 1:
                break;
            case 2:
                $result['win_ammount'] = 5;
                $result['lottery_level'] = '九等奖';
                break;
            case 3:
                $result['win_ammount'] = 15;
                $result['lottery_level'] = '八等奖';
                break;
            case 4:
                $result['win_ammount'] = 300;
                $result['lottery_level'] = '五等奖';
                break;
            case 5:
                $result['win_ammount'] = 5000000;
                $result['lottery_level'] = '二等奖';
                break;
        }
    } else {
        switch ($red_lottery_num) {
            case 0:
            case 1:
            case 2:
                break;
            case 3:
                $result['win_ammount'] = 5;
                $result['lottery_level'] = '九等奖';
                break;
            case 4:
                $result['win_ammount'] = 100;
                $result['lottery_level'] = '七等奖';
                break;
            case 5:
                $result['win_ammount'] = 10000;
                $result['lottery_level'] = '三等奖';
                break;
        }
    }

    return $result;
}

编程笔记 » 如何使用php计算大乐透的中奖金额是多少,php计算大乐透中奖金额方法

赞同 (104) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(1)个小伙伴在吐槽
  1. 能有效防止刺眼。
    沉默刺客 2023-09-28 02:30 (1年前) 回复