我在一段时间内一直在为一些“简单”的算法苦苦挣扎,在整个互联网上搜索我放弃的答案之后......我知道,很难过。一开始我想为我的英语语法等道歉。
基于此查询:
选择 a.*、b.*
从麦切
加入投注 b
ON a.mecz_id = b.mecz_id AND a.wynik != 'NULL'
我有一个数组“punkty”,其值如下:
[0] => 数组
(
[mecz_id] => 1 //match_id
[druzyna_1_id] => 1 //team_1_id
[druzyna_2_id] => 2 //team_2_id
[wynik] => 1:2 //score - 比赛
[wynik_buk] => 2 //bookie 得分 - 比赛
[bet_id] => 1 //用户下注id
[user_id] => 1 //用户 id :)
[bet_wynik] => 3:2 //用户投注分数
[bet_wynik_buk] => 1 //用户赌注得分
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[punkty] => 0 //points - 这里会在计算的时候加上
)
[1] => 数组
(
[mecz_id] => 2
[druzyna_1_id] => 3
[druzyna_2_id] => 4
[威尼克] => 3:2
[wynik_buk] => 1
[bet_id] => 2
[user_id] => 1
[bet_wynik] => 3:2
[bet_wynik_buk] => 1
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[2] => 数组
(
[mecz_id] => 3
[druzyna_1_id] => 2
[druzyna_2_id] => 4
[威尼克] => 1:1
[wynik_buk] => 0
[bet_id] => 3
[user_id] => 1
[bet_wynik] => 1:1
[bet_wynik_buk] => 0
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[3] => 数组
(
[mecz_id] => 1
[druzyna_1_id] => 1
[druzyna_2_id] => 2
[威尼克] => 1:2
[wynik_buk] => 2
[bet_id] => 6
[user_id] => 4
[bet_wynik] => 3:1
[bet_wynik_buk] => 1
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[4] => 数组
(
[mecz_id] => 2
[druzyna_1_id] => 3
[druzyna_2_id] => 4
[威尼克] => 3:2
[wynik_buk] => 1
[bet_id] => 7
[user_id] => 4
[bet_wynik] => 2:3
[bet_wynik_buk] => 2
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[5] => 数组
(
[mecz_id] => 3
[druzyna_1_id] => 2
[druzyna_2_id] => 4
[威尼克] => 1:1
[wynik_buk] => 0
[bet_id] => 8
[user_id] => 4
[bet_wynik] => 0:0
[bet_wynik_buk] => 0
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[6] => 数组
(
[mecz_id] => 1
[druzyna_1_id] => 1
[druzyna_2_id] => 2
[威尼克] => 1:2
[wynik_buk] => 2
[bet_id] => 9
[user_id] => 5
[bet_wynik] => 1:2
[bet_wynik_buk] => 2
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[7] => 数组
(
[mecz_id] => 2
[druzyna_1_id] => 3
[druzyna_2_id] => 4
[威尼克] => 3:2
[wynik_buk] => 1
[bet_id] => 10
[user_id] => 5
[bet_wynik] => 3:3
[bet_wynik_buk] => 0
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
[8] => 数组
(
[mecz_id] => 3
[druzyna_1_id] => 2
[druzyna_2_id] => 4
[威尼克] => 1:1
[wynik_buk] => 0
[bet_id] => 11
[user_id] => 5
[bet_wynik] => 1:1
[bet_wynik_buk] => 0
[krol] => 马里奥·戈麦斯 (GER)
[laczny] => 5 包 � Hiszpania (2 包)
[朋克蒂] => 0
)
根据上面的数组,我分配分数以获得良好的分数和准确的结果:
玩家得分正确时得 1 分(即 1 或 X 或 2)
当玩家准确得分正确时得 4 分(即 1:1 或3:1 等)
foreach ( $punkty as $k => $v ){
$wbuk = $v['wynik_buk']; //匹配博彩分数
$bwbuk = $v['bet_wynik_buk']; //用户 bookie 投注分数
$w = $v['wynik']; //匹配分数
$bw = $v['bet_wynik']; //用户投注分数
如果($wbuk == $bwbuk){
如果 ( $w == $bw ) {
$pkt = 4;
}别的{
$pkt = 1;
}
} 别的 {
$pkt = 0;
}
}
上面的代码正确地分配了点,但我想向它添加另一件事。
如果只有一个用户有这个分数/结果,我想为达到正确的分数或正确的结果添加一些奖励积分:
如果用户是唯一一个得分正确的人(即 1 或 X 或 2)
,则 2 分如果用户是唯一具有正确结果的(即 3:1 或 1:1 等)
请帮忙 !!!我知道必须有成千上万种方法可以做到,但我的思想处于 StackOverflow 状态并崩溃了 :)