'2', 'matchResult' => '无规则和']; public $return_fail = ['result' => '-1', 'matchResult' => '']; //足球让球 $scoreDiff比分差 $condition条件 $matchResultWord匹配文字(原样输出) //$condition 可能 1 +1 -1 +1.5/2 -1.5/2 这样 public function zq_letball($scoreDiff, $condition, $matchResultWord) { $scoreDiff = intval($scoreDiff); $returnDatas['matchResult'] = $matchResultWord; $hasFH = in_array(substr($condition, 0, 1), ['+', '-']); if ($hasFH) { $condArr = explode("/", substr($condition, 1)); $FH = substr($condition, 0, 1); } else { $condArr = explode("/", $condition); $FH = '+'; } if (count($condArr) == 1) { $smin = $scoreDiff - ($hasFH == '+' ? 1 : -1) * $condArr['0']; if ($smin > 0) { $returnDatas['result'] = 1; } elseif ($smin == 0) { $returnDatas['result'] = 2; } else { $returnDatas['result'] = -1; } return $returnDatas; } $smin = $scoreDiff - ($FH == "+" ? 1 : -1) * $condArr[0]; $smax = $scoreDiff - ($FH == "+" ? 1 : -1) * $condArr[1]; if ($smin > $smax) { $this->doexchage($smin, $smax); } if ($smin < 0 && $smax < 0) { $returnDatas['result'] = -1; return $returnDatas; } if ($smin > 0 && $smax > 0) { $returnDatas['result'] = 1; return $returnDatas; } if ($smin + $smax > 0) { $returnDatas['result'] = 3; return $returnDatas; } $returnDatas['result'] = 4; return $returnDatas; } //足球进球大小 $score进球数 type:2大 1小 $matchResultWord匹配文字原样输出 //$condition 0.5/1 2/2.5 2 这样的 public function zq_inball_bigsmall($score, $condition, $type, $matchResultWord) { $score = intval($score); $returnDatas['matchResult'] = $matchResultWord; $condArr = explode("/", $condition); if (count($condArr) == 1) { if ($score == $condArr['0']) { $returnDatas['result'] = 2; } else { if ($type == 2) { if ($score > $condArr['0']) { $returnDatas['result'] = 1; } else { $returnDatas['result'] = -1; } } else { if ($score < $condArr['0']) { $returnDatas['result'] = 1; } else { $returnDatas['result'] = -1; } } } return $returnDatas; } $smin = $score - $condArr['0']; $smax = $score - $condArr['1']; if ($smin > $smax) { $this->doexchage($smin, $smax); } if ($smin > 0 && $smax > 0) { $returnDatas['result'] = 1; } elseif ($smin < 0 && $smax < 0) { $returnDatas['result'] = -1; } else { if ($smin >= 0) { $returnDatas['result'] = 3; } else { $returnDatas['result'] = 4; } } return $returnDatas; } //独赢 public function zq_duying($score, $condition, $matchResultWord) { $fen = (strtolower($condition) != 'x') ? intval($condition) : 0; $smin = $score - $fen; $returnDatas['matchResult'] = $matchResultWord; if ($smin > 0) { $returnDatas['result'] = 1; } elseif ($smin == 0) { $returnDatas['result'] = 2; } else { $returnDatas['result'] = -1; } return $returnDatas; } //单双判断 $type 1单 2双 public function zq_doublesing($score, $condition, $matchResultWord) { $returnDatas['matchResult'] = $matchResultWord; $condition = trim($condition); $gret = (($score % 2) == 0) ? '双' : '单'; if ($gret == $condition) { $returnDatas['result'] = 1; } else { $returnDatas['result'] = -1; } return $returnDatas; } //type ==1 返回第$sn节 ==2返回上下节,sn=1上半场,sn=2下半场 type==4全部按节数的数组 public function lq_getResultBySn($recoreModesArray, $type = 4, $sn = 1) { $return = []; foreach ($recoreModesArray as $key => $val) { $nowsn = intval($val->match_process); $return[$nowsn] = $val; } if (!((count($return) == 4) && isset($return['1']) && isset($return['2']) && isset($return['3']) && isset($return['4']))) { throw new \Exception("篮球结果不为4的数组,或match_process有错"); } if ($type == 4) { return $return; } if ($type == 1) { return $return[$sn]; } if ($type == 2) { if ($sn == 1) { $ret = [ $return[1], $return[2], ]; } else { $ret = [ $return[3], $return[4], ]; } } return $ret; } //篮球比分数据汇总,以方便后面使用 public function lq_scoreDatas($recoreModesArray) { $arr = $this->lq_getResultBySn($recoreModesArray); $return = [ 'list' => $arr, 'all' => ['home' => 0, 'guest' => 0], 'half' => ['home' => 0, 'guest' => 0], 'half2' => ['home' => 0, 'guest' => 0], ]; foreach ($arr as $key => $val) { $tmp_home = intval($val->home); $tmp_guest = intval($val->guest); $return['all']['home'] += $tmp_guest; $return['all']['guest'] += $tmp_home; if ($key == 1 || $key == 2) { $return['half']['home'] += $tmp_home; $return['half']['guest'] += $tmp_guest; } else { $return['half2']['home'] += $tmp_home; $return['half2']['guest'] += $tmp_guest; } } return $return; } private function doexchage(&$num1, &$num2) { $tmp = $num2; $num2 = $num1; $num1 = $tmp; } }