header("Content-type:text/html;charset=utf-8");
?>
多个随机比率英文,分割 例:50%,5%,0.5%
if(!empty($_POST)){
echo $_POST['bl'];//获取值
echo "
";
$yarr = $arr = explode(',',$_POST['bl']);//字符串转为数组
print_r($arr);
echo "
";
rsort($arr);//数组按值重大到小排序
print_r($arr);
echo "
";
echo end($arr);//取最小值
echo "
";
$bl = end($arr);//取最小值赋值
echo trim($bl,'%');
echo "
";
echo strstr(trim($bl,'%'),'.');//去除%,并根据小数点截取
if(strstr(trim($bl,'%'),'.')){//去除%,并根据小数点截取,判断是否截取到值
$cishu = strlen(strstr(trim($bl,'%'),'.'))-1;
$beishu = 10;
for($i=1;$i
$beishu = $beishu*10;
}
}else{
$beishu = 1;
}
echo $beishu;
echo "
";
$count = '';
$nums = '';
foreach($yarr as $val){
$count += $num[] = $nums = $val*$beishu+$nums;//取值范围重新赋值
}
echo $count;
echo "
";
print_r($num);
echo "
";
$rand_num = rand(1,$beishu*100);//根据倍数换算,随机取比率范围内的值
$k = "";
foreach($num as $key=>$val){
if($key == 0){//判断是否是第一次循环
if($rand_num >= 1 && $rand_num <= $val){//按范围判断是否出现在该中奖段
echo "恭喜你中奖了";
$k = $key;
break;
}
}else{
if($rand_num > $num[$key-1] && $rand_num <= $val){//取上一次的值和本次比较,判断是否出现在该中奖段
echo "恭喜你中奖了";
$k = $key;
break;
}
}
}
echo $k;
}
?>