其实php随机数的问题并不复杂,但是又很多的朋友都不太了解php产生随机数的函数,因此呢,今天小编就来为大家分享php随机数的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
在编程过程中,随机数是一个非常有用的功能。它可以帮助我们实现各种需求,比如生成唯一的标识符、随机排序数据、模拟游戏中的随机事件等等。PHP作为一门流行的编程语言,也提供了丰富的随机数生成方法。本文将为大家详细介绍PHP随机数的生成技巧,帮助大家轻松实现随机性。
一、PHP随机数简介
PHP中的随机数生成主要依赖于以下三个函数:
1. rand():生成一个介于0到INT_MAX之间的随机整数。
2. mt_rand():生成一个介于0到INT_MAX之间的随机整数,比rand()更加强大。
3. random_int():生成一个介于min和max之间的随机整数,包括min和max。
二、rand()函数
rand()函数是最简单的随机数生成方法,它返回一个介于0到INT_MAX之间的随机整数。以下是一个使用rand()函数生成随机数的例子:
“`php
$number = rand();
echo “
php取随机数概率算法
问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。
又把“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%
Php中生成6位随机数并显示
Php中生成6位随机数并显示实现如下:
1、使用shuffle函数生成随机数。
<?php
$arr=range(100000,999999);
shuffle($arr);
foreach($arras$values)
{
echo$values.””;//显示随机数
}
?>2、使用array_unique函数生成随机数。
<?php
$arr=array();
while(count($arr)<10)
{
$arr[]=rand(1,10);
$arr=array_unique($arr);
}echoimplode(“”,$arr);
?>
扩展资料:
PHP生成随机数的两种方法:
1、rand()函数:
//无参数:rand()函数用户获取随机数。
echo rand().”
“;//得到一个不定位数的随机数
//带参数:rand($min,$max),$min表示从XX开始取值,$max表示最大只能为XX。
echo rand(5, 15);//在5~15之间取一个数
注意:mt_rand()用法跟rand()类似,但是mt_rand()的执行效率更高。
2、使用array_flip函数生成随机数,可以去掉重复值。
求一个生成四位随机数的PHP代码
最简单的代码:
图片:
文字:
<?php
echo”四位随机代码是:”. mt_rand(999, 9999);//随机值得范围是999-9999
?>
在PHP中 mt_rand是随机函数,括号中是随机值范围:从最小值到最大值之间随机变换。
扩展资料:
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
好了,关于php随机数和php产生随机数的函数的问题到这里结束啦,希望可以解决您的问题哈!




