`

php生成随机数的三种方法

    博客分类:
  • php
 
阅读更多

原文:php生成随机数的三种方法

分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下
 

如何用php生成1-10之间的不重复随机数?

例1,使用shuffle函数生成随机数。

1
2
3
4
5
6
7
8
<?php
$arr=range(1,10);
shuffle($arr);
foreach($arr as $values)
{
  echo $values." ";
}
?>

例2,使用array_unique函数生成随机数。

1
2
3
4
5
6
7
8
9
<?php
$arr=array();
while(count($arr)<10)
{
  $arr[]=rand(1,10);
  $arr=array_unique($arr);
}
echo implode(" ",$arr);
?>

例3,使用array_flip函数生成随机数,可以去掉重复值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$arr=array();
$count1=0;
$count = 0;
$return = array();
while ($count < 10)
 {
  $return[] = mt_rand(1, 10);
  $return = array_flip(array_flip($return));
  $count = count($return);
 } //www.jb51.net
foreach($return as $value)
 {
  echo $value." ";
 }
echo "<br/>";
$arr=array_values($return);// 获得数组的值
foreach($arr as $key)
echo $key." ";
?>

php随机数生成函数示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
function randpw($len=8,$format='ALL'){
$is_abc = $is_numer = 0;
$password = $tmp =''
switch($format){
case 'ALL':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
case 'CHAR':
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
break;
case 'NUMBER':
$chars='0123456789';
break;
default :
$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
break;
} // www.jb51.net
mt_srand((double)microtime()*1000000*getmypid());
while(strlen($password)<$len){
$tmp =substr($chars,(mt_rand()%strlen($chars)),1);
if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == 'CHAR'){
$is_numer = 1;
}
if(($is_abc <> 1 && preg_match('/[a-zA-Z]/',$tmp)) || $format == 'NUMBER'){
$is_abc = 1;
}
$password.= $tmp;
}
if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){
$password = randpw($len,$format);
}
return $password;
}
for($i = 0 ; $i < 10; $i++){
echo randpw(8,'NUMBER');
echo "<br>";
}
分享到:
评论

相关推荐

    Angular+Node生成随机数的方法

    以前写过一个PHP生成随机数,然后jquey ajax获取,再jQuery改变文本的随机数的程序 现在用Angular 和 Node来重写一下 Angular的好处是双向绑定,这样直接设置变量,不用再重新设置了 Node的好处我目前还不是很理解,...

    php生成随机数/生成随机字符串的方法小结【5种方法】

    主要介绍了php生成随机数/生成随机字符串的方法,结合实例形式分析了php生成随机数/生成随机字符串的5种实现方法与相关操作注意事项,需要的朋友可以参考下

    PHP生成随机数的方法实例分析

    主要介绍了PHP生成随机数的方法实例分析,对比了两种不同的生成随机数的方法,总结了随机数的相关技巧,需要的朋友可以参考下

    true-random-master生成随机数的PHP库.zip

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

    [示例][PHP]RandomLib-master生成随机数和随机字符串的PHP库.zip

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,...RandomLib-master生成随机数和随机字符串的PHP库就是这么一个工具。

    php简单生成随机数的方法

    本文实例讲述了php简单生成随机数的方法。分享给大家供大家参考。具体如下: &lt;?php /** *生成随机数,可用户验证码 *@param */ function randStr($m = 5) { $new_str = ''; $str = '...

    PHP内置函数生成随机数实例

    在本篇文章里小编给大家分享了关于PHP内置函数生成随机数实例内容,对此有兴趣的朋友们可以学习下。

    PHP生成随机数的方法总结

    本篇文章给大家总结了PHP生成随机数的方法并把相关的代码做了分享,有需要的读者们参考学习下吧。

    RandomLib-master生成随机数和随机字符串的PHP库.zip

    通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,...RandomLib-master生成随机数和随机字符串的PHP库就是这么一个工具。

    随机数生成.txt

    php随机数生成 $ma = $_POST["max"];//随机数最小值 $mi = $_POST["min"];//随机数最大值 $y = array(); $d=array(); for ($x=$min; $x$ma; $x++) { $y[$x]=$x; } //获取随机数最大最小值之间的所有数值 ...

    一个php生成16位随机数的代码(两种方法)

    分享一个php生成16位随机数的代码,php生成随机数的二种方法。 方法1 复制代码 代码如下: &lt;?php $a = mt_rand(10000000,99999999); $b = mt_rand(10000000,99999999); echo $a.$b; 方法2: &lt;?php $a = range(0...

    php产生随机数的两种方法实例代码 输出随机IP

    分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下。 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数。 &lt;?php $arr=range(1,...

    在PHP模板引擎smarty生成随机数的方法和math函数详解

    如果要在smarty模板中生成随机数,该如何办呢?在php文件中生成然后赋值到模板中。

    php使用codebase生成随机数

    主要介绍了php使用codebase生成随机数的示例,需要的朋友可以参考下

    PHP生成指定长度随机数最简洁的方法

    主要介绍了PHP生成指定长度随机数最简洁的方法,一行代码搞定随机数生成,是不是最简洁、最优雅的方法,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics