×

编写php程序产生一个随机数

编写php程序产生一个随机数(php中生成随机整数的函数是)

admin admin 发表于2023-03-24 02:47:10 浏览42 评论0

抢沙发发表评论

本文目录一览:

php程序如何产生随机数?

mt_rand — 生成更好的随机数

它可以产生随机数值的平均速度比 libc 提供的 rand() 快四倍。

所以建议楼主用这个函数 比rand要快

int mt_rand ([ int $min ], int $max ) $min为做小值 $max为最大值

?php

echo "table";

for ($i=0;$i2;$i++) // 外层循环控制行数

{

echo "tr";

for ($j=0;$j10;$j++) // 内层循环控制列数

{

echo "td".mt_rand(10,100000)."/td"; // 产生随机数

}

echo "/tr";

}

echo "/table"

?

PHP生成随机数的几种方法

php生成随机数的几种方法,总结如下:

第一种方法,非常简单,直接使用系统自带的函数:

查看代码1 srand((double)microtime()*1000000);

2 //随机产生0-99之间的整数

3 $randval=rand(0,99999999);

4 echo $randval,'

';

5

6

第二种方法,稍微复杂一点,不只是生成只有数字的随机字符串,更包括了各种特殊字符:

查看代码

function randomkeys($length){

$output='';

for($a=0;$a$length; $a++){

$output.=chr(mt_rand(33, 126));

}

return $output;

}

echo randomkeys(20);

php怎么生成6位随机数?

通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。代码如下:

function randomkeys($length)

{

$pattern = '1234567890abcdefghijklmnopqrstuvwxyz

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代表的正是第一个函数中字符池里的所有字符。第二个函数和第一个函数功能相同,而且更简洁。-编写php程序产生一个随机数

php使用codebase生成随机数

有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次。前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空。那么你会如何填补这个漏子?

当然向上级反映情况。但是我们这里讨论的是技术,就是需要生成1-25之间的16个不重复的随机数,去填补。具体怎么设计函数呢?将随机数存入数组,再在数组中去除重复的值,即可生成一定数量的不重复随机数。

程序如下:

复制代码

代码如下:

?php

/*

*

array

unique_rand(

int

$min,

int

$max,

int

$num

)

*

生成一定数量的不重复随机数

*

$min

$max:

指定随机数的范围

*

$num:

指定生成数量

*/

function

unique_rand($min,

$max,

$num)

{

$count

=

0;

$return

=

array();

while

($count

$num)

{

$return[]

=

mt_rand($min,

$max);

$return

=

array_flip(array_flip($return));

$count

=

count($return);

}

shuffle($return);

return

$return;

}

$arr

=

unique_rand(1,

25,

16);

sort($arr);

$result

=

'';

for($i=0;

$i

count($arr);$i++)

{

$result

.=

$arr[$i].',';

}

$result

=

substr($result,

0,

-1);

echo

$result;

?