我在一段时间内一直在为一些“简单”的算法苦苦挣扎,在整个互联网上搜索我放弃的答案之后......我知道,很难过。一开始我想为我的英语语法等道歉。
基于此查询:
选择 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 状态并崩溃了 :)