php随机整数
A. php数组值取随机数
用array_rand()函数就可以实现。
array_rand():从数组中随机选出一个或多个元素,并返回。
语法:array_rand(array,number)
array:必需。规定输入的数组参数。
number:可选。默认是 1。规定返回多少个随机的元素。
例子:$a = ['a','b','c'];//定义一个二维数组
$b = $array_rand($a,1);//从数组a里随机选取一个元素赋值给变量b。
B. php 指定随机数
方法1:
$a=array(1,2,3,4,5,6); //指定数组
$b=array_rand($a,3); //取得数组$a中三个随机的键值。
echo $a[$b[0]]."、".$a[$b[1]]."、".$a[$b[2]]; //可以按自己想要的格式输出
方法2:
$a = array(1,2,3,4,5,6);
shuffle($a); //打乱数组$a
$b=array_slice($a,0,3); //取出数组中前三个值放入$b
print_r($b);
C. php怎么生成6位随机数,php随机数例子
通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。
复制代码 代码如下:
function randomkeys($length)
{
$pattern = '
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
t;>?;#:@~[]{}-_=+)(*&^%___FCKpd___0pound;"!'; //字符池
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
echo randomkeys(8);
这个php随机函数能生成XC*=z~7L这样的字符串,够随机!现在介绍另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。
复制代码 代码如下:
function randomkeys($length)
{
$output='';
for ($a = 0; $a < $length; $a++) {
$output .= chr(mt_rand(33, 126)); //生成php随机数
}
return $output;
}
echo randomkeys(8);
在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr()函数转化成字符。查看ascii码表就会发现,33到126代表的正是第一个函数中字符池里的所有字符。第二个函数和第一个函数功能相同,而且更简洁。
D. 如何用PHP获得这样的随机整数
mt_rand(300,600)
mt_rand(100,800)
详细代码:
top:<?php echo mt_rand(300,600)?>px;left:<?php echo mt_rand(100,800)?>px;
推荐用mt-rand(a,b)
有人说:
总的来说mt_rand() 比rand() 快四倍
很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且很慢。PHP 的 rand() 函数默认使用 libc 随机数发生器。mt_rand() 函数是非正式用来替换它的。该函数用了 Mersenne Twister 中已知的特性作为随机数发生器,mt_rand() 可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
E. php怎么生成6位随机数
通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。代码如下:
function randomkeys($length)
{
$pattern = '
ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l
t;>?;#:@~[]{}-_=+)(*&^%___FCKpd___0pound;"!'; //字符池
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php随机数
}
return $key;
}
echo randomkeys(8);
这个php随机函数能生成XC*=z~7L这样的字符串,随机!
F. 求一个生成四位随机数的PHP代码
最简单的代码:
图片:
文字:
<?php
echo "四位随机代码是:". mt_rand(999, 9999); //随机值得范围是999-9999
?>
在PHP中 mt_rand是随机函数,括号中是随机值范围:从最小值到最大值之间随机变换。
(6)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
G. php程序如何产生随机数
mt_rand — 生成更好的随机数
它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。
所以内建议楼主用这个函数 比rand要快
int mt_rand ([ int $min ], int $max ) $min为做容小值 $max为最大值
<?php
echo "<table>";
for ($i=0;$i<2;$i++) // 外层循环控制行数
{
echo "<tr>";
for ($j=0;$j<10;$j++) // 内层循环控制列数
{
echo "<td>".mt_rand(10,100000)."</td>"; // 产生随机数
}
echo "</tr>";
}
echo "</table>"
?>
H. 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,即在前面生成的数字基础上加一
}
(8)php随机整数扩展阅读:
密码学安全伪随机性。其定义为,给定随机样本的一部分和随机算法,不能有效的演算出随机样本的剩余部分。
真随机性。其定义为随机样本不可重现。实际上只要给定边界条件,真随机数并不存在,可是如果产生一个真随机数样本的边界条件十分复杂且难以捕捉(比如计算机当地的本底辐射波动值),可以认为用这个方法演算出来了真随机数。
I. php取随机数概率算法
//首先定义概率数组
$Probability["1-10"]=0.6;
$Probability["11-50"]=0.25;
$Probability["51-100"]=0.10;
$Probability["101-200"]=0.05;
//扩大1000倍便于计算
foreach($Probabilityas$k=>$v){
$Probability[$k]=$v*1000;
}
$Num=0;
$Random=rand(1,1000);//生成随机数
foreach($Probabilityas$k=>$v){
if($Num<$Random&&$Random<=$v+$Num){
//进入这里表示随机数在哪一个范围内
$Range=explode("-",$k);
//生成范围区间的随机数
$Result=rand($Range[0],$Range[1]);
echo$Result;
break;
}else{
$Num+=$v;
}
}
J. 在 1-20之间随机取一个整数,PHP怎么作
代码如下:
<?php
//range 是将1到100 列成一个数组
$numbers = range (1,100);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$no=6;
$result = array_slice($numbers,0,$no);
for ($i=0;$i<$no;$i++){
echo $result[$i]."<br>";
}
print_r($result);
?>
//range 是将1到42 列成一个数组
$numbers = range (1,42);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$result = array_slice($numbers,0,3);
print_r($result);