问题描述
本帖最后由 独孤求败 于 2015-2-23 20:18 编辑 $award) { self::$proSum += $award; } if (empty(self::$proSum)) { return self::$checkAward = false; } return self::$checkAward = true; } protected static function successRoll($rollKey){ return array('code' => self::SUCCESS_CODE, 'roll_key' => $rollKey, 'msg' => 'roll success'); } protected static function failRoll($msg = 'roll fail'){ return array('code' => self::FAIL_CODE, 'msg' => $msg ); } //** public static function roll () { if (false == self::$checkAward) { return self::failRoll('awards data is not the right format!'); } $result = mt_rand(0, self::$proSum); $proValue = 0; foreach (self::$awardsArr as $_key => $value) { $proValue += $value; if ($result array('pro' => 15, 'info' => '15%的可能性'), '1' => array('pro' => 25, 'info' => '25%的可能性'), '2' => array('pro' => 40, 'info' => '40%的可能性'), '3' => array('pro' => 20, 'info' => '20%的可能性'), ); lottery_tool::setProField('pro');lottery_tool::setAwards($awards); $result = array(); for ($i = 10000; $i --;) { $result[] = lottery_tool::roll();} foreach ($result as $key => $value) { $awards[$value] ++;} echo '';var_dump($awards);//结果:array 0 => array 'pro' => int 15 'info' => string '15%的可能性' (length=15) 'num' => int 1596 1 => array 'pro' => int 25 'info' => string '25%的可能性' (length=15) 'num' => int 2484 2 => array 'pro' => int 40 'info' => string '40%的可能性' (length=15) 'num' => int 3939 3 => array 'pro' => int 20 'info' => string '20%的可能性' (length=15) 'num' => int 1981 $award) { self::$proSum += $award; } if (empty(self::$proSum)) { return self::$checkAward = false; } return self::$checkAward = true; } protected static function successRoll($rollKey){ return array('code' => self::SUCCESS_CODE, 'roll_key' => $rollKey, 'msg' => 'roll success'); } protected static function failRoll($msg = 'roll fail'){ return array('code' => self::FAIL_CODE, 'msg' => $msg ); } //** public static function roll () { if (false == self::$checkAward) { return self::failRoll('awards data is not the right format!'); } $result = mt_rand(0, self::$proSum); $proValue = 0; foreach (self::$awardsArr as $_key => $value) { $proValue += $value; if ($result array('pro' => 15, 'info' => '15%的可能性'), '1' => array('pro' => 25, 'info' => '25%的可能性'), '2' => array('pro' => 40, 'info' => '40%的可能性'), '3' => array('pro' => 20, 'info' => '20%的可能性'), ); lottery_tool::setProField('pro');lottery_tool::setAwards($awards); $result = array(); for ($i = 10000; $i --;) { $result[] = lottery_tool::roll();} foreach ($result as $key => $value) { $awards[$value] ++;} echo '';var_dump($awards);//结果:array 0 => array 'pro' => int 15 'info' => string '15%的可能性' (length=15) 'num' => int 1596 1 => array 'pro' => int 25 'info' => string '25%的可能性' (length=15) 'num' => int 2484 2 => array 'pro' => int 40 'info' => string '40%的可能性' (length=15) 'num' => int 3939 3 => array 'pro' => int 20 'info' => string '20%的可能性' (length=15) 'num' => int 1981