php计算双色球中奖金额方法。
/**
* @desc php计算双色球中奖金额方法
* @param string $buy_str 购买结果,类似 4+15+20+25+26+30+8
* @param string $open_result_str 开奖结果,类似 4+15+20+25+26+30+8
* @return array
*/
function countSsqLottery($buy_str, $open_result_str) {
$result = [
'win_ammount' => 0,//中奖金额
'lottery_level' => ''//中奖等级描述
];
$buy_list = explode('+', $buy_str);
$buy_red_list = array_splice($buy_list, 0, 6);
array_walk($buy_red_list, function (&$value) {
$value = intval($value);
});
$buy_blue_list = [intval(end($buy_list))];
$open_result_list = explode('+', $open_result_str);
$open_result_red_list = array_splice($open_result_list, 0, 6);
array_walk($open_result_red_list, function (&$value) {
$value = intval($value);
});
$open_result_blue_list = [intval(end($open_result_list))];
$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) {
switch ($red_lottery_num) {
case 0:
case 1:
case 2:
$result['win_ammount'] = 5;
$result['lottery_level'] = '六等奖';
break;
case 3:
$result['win_ammount'] = 10;
$result['lottery_level'] = '五等奖';
break;
case 4:
$result['win_ammount'] = 200;
$result['lottery_level'] = '四等奖';
break;
case 5:
$result['win_ammount'] = 3000;
$result['lottery_level'] = '三等奖';
break;
case 6:
$result['win_ammount'] = 5000000;
$result['lottery_level'] = '一等奖';
break;
}
} else {
switch ($red_lottery_num) {
case 0:
case 1:
case 2:
case 3:
$result['win_ammount'] = 0;
$result['lottery_level'] = '六等奖';
break;
case 4:
$result['win_ammount'] = 10;
$result['lottery_level'] = '五等奖';
break;
case 5:
$result['win_ammount'] = 200;
$result['lottery_level'] = '四等奖';
break;
case 6:
$result['win_ammount'] = 100000;
$result['lottery_level'] = '二等奖';
break;
}
}
return $result;
}