php伪随机
❶ php ThinkPhP 5.1 按概率生成随机数
echo (rand(1,100) <= 70 ? rand(1,50) : rand(51,100))/100;
先说明:伪随机
rand(1,100)产生1~100范围内随机数
如果 产生的随机数 小于等于 70
返回 1~50 随机数
否则返回 51~100 随机数
最后随机数/100即可。
为什么除以100,是因为rand 的参数均为int,所以放大100倍获取随机,得出结果后再缩小100倍刚好就是分了。
❷ php里面怎么随机打乱数组
function shuffle(&array $array): bool
Description:
打乱数组
本函数打乱(随机排列单元的顺序)一个数组。 它使用的是伪随机数产生器,并不适合密码学的场合。
如果两个成员完全相同,那么它们在排序数组中的相对顺序是未定义的。
Param:
array $array 待操作的数组。
Return:
bool 成功时返回 TRUE, 或者在失败时返回 FALSE。
<?php
$numbers = range(1, 20);
shuffle($numbers);
foreach ($numbers as $number) {
echo "$number ";
}
?>
❸ php随机数生成的函数是
php提供的随机数函数rand(),rand()函数将返回随机整数,具体使用方法如下:rand(min,max)
可选参数min和max可以使rand() 返回0到rand_max之间的伪随机整数,例如,想要5到15(包括 5 和 15)之间的随机数,用 rand(5, 15)
❹ PHP中函数rand和mt_rand的区别比较
PHP函数rand和mt_rand
mt_rand()
比rand()
快四倍
很多老的
libc
的随机数发生器具有一些不确定和未知的特性而且很慢。PHP
的
rand()
函数默认使用
libc
随机数发生器。mt_rand()
函数是非正式用来替换它的。该函数用了
Mersenne
Twister
中已知的特性作为随机数发生器,mt_rand()
可以产生随机数值的平均速度比
libc
提供的
rand()
快四倍。
mt_rand()
比rand()
快四倍
mt_rand
—
生成更好的随机数
(PHP
3
>=
3.0.6,
PHP
4,
PHP
5)
int
mt_rand
(
[int
min,
int
max]
)
很多老的
libc
的随机数发生器具有一些不确定和未知的特性而且很慢。PHP
的
rand()
函数默认使用
libc
随机数发生器。mt_rand()
函数是非正式用来替换它的。该函数用了
Mersenne
Twister(马其塞旋转)
中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比
libc
提供的
rand()
快四倍。
如果没有提供可选参数
min
和
max,mt_rand()
返回
0
到
RAND_MAX
之间的伪随机数。
例如想要
5
到
15(包括
5
和
15)之间的随机数,用
mt_rand(5,
15)。
注:
自
PHP
4.2.0
起,不再需要用
srand()
或
mt_srand()
函数给随机数生成器播种,现已自动完成。
rand
—
产生一个随机整数
(PHP
3,
PHP
4,
PHP
5)
int
rand
(
[int
min,
int
max]
)
如果没有提供可选参数
min
和
max,rand()
返回
0
到
RAND_MAX
之间的伪随机整数。例如想要
5
到
15(包括
5
和
15)之间的随机数,用
rand(5,
15)。
注:
在某些平台下(例如
Windows)RAND_MAX
只有
32768。如果需要的范围大于
32768,那么指定
min
和
max
参数就可以生成大于
RAND_MAX的数了,或者考虑用
mt_rand()
来替代之。
注:
自
PHP
4.2.0
起,不再需要用
srand()
或
mt_srand()
函数给随机数生成器播种,现已自动完成。
mt_rand定义和用法
mt_rand()
使用
Mersenne
Twister
算法返回随机整数。
语法
mt_rand(min,max)说明
如果没有提供可选参数
min
和
max,mt_rand()
返回
0
到
RAND_MAX
之间的伪随机数。例如想要
5
到
15(包括
5
和
15)之间的随机数,用
mt_rand(5,
15)。
很多老的
libc
的随机数发生器具有一些不确定和未知的特性而且很慢。PHP
的
rand()
函数默认使用
libc
随机数发生器。mt_rand()
函数是非正式用来替换它的。该函数用了
Mersenne
Twister
中已知的特性作为随机数发生器,它可以产生随机数值的平均速度比
libc
提供的
rand()
快四倍。
提示和注释
注释:自
PHP
4.2.0
起,不再需要用
srand()
或
mt_srand()
函数给随机数发生器播种,现在已自动完成。
注释:在
3.0.7
之前的版本中,max
的含义是
range
。要在这些版本中得到和上例相同
5
到
15
的随机数,简短的例子是
mt_rand
(5,
11)。
例子
在本例中,我们会返回一些随机数:
复制代码
代码如下:
<?php
echo(mt_rand());
echo(mt_rand());
echo(mt_rand(10,100));
?>
输出类似:
3150906288
513289678
35
❺ 求一个生成四位随机数的PHP代码
最简单的代码:
图片:
文字:
<?php
echo "四位随机代码是:". mt_rand(999, 9999); //随机值得范围是999-9999
?>
在PHP中 mt_rand是随机函数,括号中是随机值范围:从最小值到最大值之间随机变换。
(5)php伪随机扩展阅读:
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写一个猜随机数的程序。产生一个10以内的随机数,让用户在文本框输入猜的数字有5次机会。
用if语句判断$a是否已经存有随机数,没有则随机生成一个随机数放入$a中,并让剩余次数$b为5。用户输入后将$a与输入的数字对比,并给出相应的提示。并且把$b减1,直到$b为0时结束。获取用户输入和表单隐藏的数据可用GET 或 POST。
<span></span>
<form method="post" action="">
输入数字(1-10)
<input type="text" name="sz" size="6" value="10">
<input type="hidden" name="rand" value=<?php echo $_COOKIE['read'];?>>
<input type="hidden" name="last" value="5" autocomplete="off">
<input type="button" name="sub" value="确认">
</form>
<script src="http://libs..com/jquery/2.1.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("[name='sub']").click(function(){
if($("[name='last']").val() < 1){alert("你没机会了");return;}
$.post("",{sz:$("[name='sz']").val(),rand:$("[name='rand']").val()},function(result){
$("[name='last']").val($("[name='last']").val()-1);
$("span").html(result+'还有'+$("[name='last']").val()+'次机会');
});
});
});
</script>
(6)php伪随机扩展阅读:
使用计算机产生真随机数的方法是获取cpu频率与温度的不确定性以及统计一段时间的运算次数每次都会产生不同的值,系统时间的误差以及声卡的底噪等。
在实际应用中往往使用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。这样的发生器叫做伪随机数发生器。
❼ 急需php rand函数限定条件,求大神
nu=(1:20)/1000
y=rand(1,20)
y>cumsum(nu)
x(1)=1+sum(y>cumsum(nu));
按照给你的代码一行的复制到命令窗口回车,你就应该明白这句的含义,另外
rand
uniformly
distributed
pseudorandom
numbers
即rand生成的为均匀分布的伪随机数
❽ php中如何生成1-15之间的随机数
可以使用PHP math 函数 rand(1,15)直接返回即可。
定义和用法:rand() 函数返回随机整数。
语法:rand(min,max)。
参数:min,max 可选。规定随机数产生的范围。
说明:如果没有提供可选参数 min 和 max,rand() 返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 5 到 15(包括 5 和 15)之间的随机数,用 rand(5, 15)。
(8)php伪随机扩展阅读:
提示和注释
注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。
注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。
注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。
❾ php生成随机数字,范围1-100,每次生成一个数字,可以重复
echomt_rand(1,100);
请使用rand函数
intrand(int$min,int$max)
使用循环生成,假如想生成512个数字,就可以像这样:
$num = 1;//初始化一个变量为1
for($i = 1; $i <= 512; $i++)//这个是看你要生成多少个数字,然后循环生成
{
if($num >= 100)
$num = 1;//若变量的数字大于一百,则返回变成1
echo $num."</br>";//输出变量数字,即生成的数字,后面的</br>是换行
$num++;//然后将变量加1,即在前面生成的数字基础上加一
}
(9)php伪随机扩展阅读:
密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。