/** * 计算出彩票的注数 适用于竞彩部分 * Enter description here ... * @param unknown_type $code * codes:46:[1,2]/47:[胜]/48:[胜]/49:[胜] * @param unknown_type $chuanfa * 2串1 */ public function zhushu($codes, $chuanfa) { $arrcode = explode('/', $codes); if ($chuanfa == '单关') { $chuan_code = 1; } else { $chuans = explode('串', $chuanfa); $chuan_code = $chuans[0] . $chuans[1]; } $zhushu_info = self::$zhushufenpei[$chuan_code]; $return = 0; for ($i = 0; $i < count($zhushu_info); $i++) { if ($zhushu_info[$i] > 0) { $j = $i + 1; $r = tool::get_combination($arrcode, $j, '/'); for ($k = 0; $k < count($r); $k++) { $code_t1 = explode('/', $r[$k]); $match_re = 1; for ($l = 0; $l < count($code_t1); $l++) { $t1 = explode(':', $code_t1[$l]); $match_no = $t1[0]; $no_len = strlen($match_no) + 2; $t2 = substr(substr($code_t1[$l], $no_len), 0, -1); $t3 = explode(',', $t2); $match_re *= count($t3); } $return += $match_re; } } } return $return; }
public static function get_combination($arr, $m, $char = ',') { $result = array(); if ($m == 1) { return $arr; } if ($m == count($arr)) { $result[] = implode($char, $arr); return $result; } $temp_firstelement = $arr[0]; unset($arr[0]); $arr = array_values($arr); $temp_list1 = tool::get_combination($arr, $m - 1, $char); foreach ($temp_list1 as $s) { $s = $temp_firstelement . $char . $s; $result[] = $s; } unset($temp_list1); $temp_list2 = tool::get_combination($arr, $m, $char); foreach ($temp_list2 as $s) { $result[] = $s; } unset($temp_list2); return $result; }