phpfor获取随机数
问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。
又把“1-10”,理解成包括1和10在内其两数之间的小数,
把10-50,理解成10.01到50.00之间的数,不包括10.00。以此类推。
<?php
functiongenRandom(){
$p=rand(1,100);
if($p<=60)$r=rand(100,1000);
elseif($p>60and$p<=85)$r=rand(1001,5000);
elseif($p>85and$p<=95)$r=rand(5001,10000);
else$r=rand(10001,20000);
return$r/100;
}
$a=array();
$total=50000;
for($i=0;$i<$total;$i++){
$c=genRandom();
if($c>=1and$c<=10)$p=0;
elseif($c>10and$c<=50)$p=1;
elseif($c>50and$c<=100)$p=2;
elseif($c>100and$c<=200)$p=3;
else$p=4;
if(!array_key_exists($p,$a))$a[$p]=1;
else$a[$p]++;
}
if(!array_key_exists(4,$a))$a[4]=0;
echo"总样本数".$total.'<br/>';
echo"1-10样本数".$a[0].',占'.($a[0]/$total*100).'%<br/>';
echo">10-50样本数".$a[1].',占'.($a[1]/$total*100).'%<br/>';
echo">50-100样本数".$a[2].',占'.($a[2]/$total*100).'%<br/>';
echo">100-200样本数".$a[3].',占'.($a[3]/$total*100).'%<br/>';
echo"其他样本数".$a[4].',占'.($a[4]/$total*100).'%<br/>';
总样本数50000
1-10样本数30052,占60.104%
>10-50样本数12404,占24.808%
>50-100样本数4993,占9.986%
>100-200样本数2551,占5.102%
其他样本数0,占0%
B. php 图像验证码无法显示图片
这段代码如果放到页面里必须保证占第1行开始,代码前无其他不相关代码。。。,建议建立纯代码文件后,在页面里用<img src='img.php' />调用,因为gd库默认生成全部代码,如果代码上有图片不支持的代码就会出错,但在尾部就没有影响。。。
C. php向一个空数组中添加1000个不重复的数字,要求:数字需要在0-3000中产的代码
// 1、首先定义一个空的目标数组
$arr = [];
// 2、开始for循环
for ($i = 0; $i < 1000; ) {
****// 3、获取0~3000之间的随机数
****$r = rand(0, 3000);
****// 4、判断该随机数是否存在目标数组中
****if (!in_array($r, $arr)) {
********// 5、如果不存在,则将该随机数添加到目标数组中
********$arr[] = $r;
********// 6、最关键的一步:只有向目标数组添加新值的时候才改变$i的值
********$i ++;
****}
****continue;
}
// 7、最后打印出目标数组,也可使用print_r函数
var_mp($arr);
die;
总结:该题的难点在于在什么时候再改变计数器变量$i的值,只有数组元素新增的时候才能改变$i,使其加1,当然for循环体也可反向写,也可采用别的循环结构,留给你自己发挥^>^。
希望能帮助到你,望采纳,谢谢~
D. php怎样生成一个32位的随机字符串
如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码。随机密码也就是一串固定长度的字符串。下面介绍生成随机字符串的三种基本方法:
E. 求一个生成四位随机数的PHP代码
最简单的代码:
图片:
文字:
<?php
echo "四位随机代码是:". mt_rand(999, 9999); //随机值得范围是999-9999
?>
在PHP中 mt_rand是随机函数,括号中是随机值范围:从最小值到最大值之间随机变换。
(5)phpfor获取随机数扩展阅读:
1、mt_rand定义和用法:
mt_rand (PHP 4, PHP 5, PHP 7) —生成更好的随机数。
2、mt_rand说明:
intmt_rand(void)。
intmt_rand(int$min,int$max)。
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的rand()函数默认使用 libc 随机数发生器。mt_rand()函数是非正式用来替换它的。
如果没有提供可选参数min和max,mt_rand()返回 0 到mt_getrandmax()之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随机数,用mt_rand(5, 15)。
3、参数:
min 可选的、返回的最小值(默认:0)。
max 可选的、返回的最大值(默认:mt_getrandmax())。
4、返回值:
返回min(或者 0) 到max(或者是到mt_getrandmax(),包含这个值)之间的随机整数。
PHP官网-mt_rand
F. 写了个JS脚本来刷新验证码 可是总是刷不出来 求高手
<img src='for2.php?'>
js 更换img的src时 在for2.php后面加 随机字符。如 "for2.php?"+mathi.random();