php生成随机数的三种方法

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

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

 

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

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

 

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

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

 

01 <?php
02 $arr=array();
03 $count1=0;
04 $count = 0;
05 $return = array();
06 while ($count < 10) 
07  {
08   $return[] = mt_rand(1, 10);
09   $return = array_flip(array_flip($return));
10   $count = count($return);
11  } //www.jbxue.com
12 foreach($return as $value)
13  {
14   echo $value." ";
15  }
16 echo "<br/>";
17 $arr=array_values($return);// 获得数组的值 
18 foreach($arr as $key)
19 echo $key." ";
20 ?>

php随机数生成函数示例

01 <?php
02 function randpw($len=8,$format='ALL'){
03 $is_abc = $is_numer = 0;
04 $password = $tmp ='';  
05 switch($format){
06 case 'ALL':
07 $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
08 break;
09 case 'CHAR':
10 $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
11 break;
12 case 'NUMBER':
13 $chars='0123456789';
14 break;
15 default :
16 $chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
17 break;
18 } // www.jbxue.com
19 mt_srand((double)microtime()*1000000*getmypid());
20 while(strlen($password)<$len){
21 $tmp =substr($chars,(mt_rand()%strlen($chars)),1);
22 if(($is_numer <> 1 && is_numeric($tmp) && $tmp > 0 )|| $format == 'CHAR'){
23 $is_numer = 1;
24 }
25 if(($is_abc <> 1 && preg_match('/[a-zA-Z]/',$tmp)) || $format == 'NUMBER'){
26 $is_abc = 1;
27 }
28 $password.= $tmp;
29 }
30 if($is_numer <> 1 || $is_abc <> 1 || empty($password) ){
31 $password = randpw($len,$format);
32 }
33 return $password;
34 }
35 for($i = 0 ; $i < 10; $i++){
36 echo randpw(8,'NUMBER');
37 echo "<br>";
38 }
时间: 2024-10-28 00:22:15

php生成随机数的三种方法的相关文章

C#中获取、生成随机数的三种方法

  这篇文章主要介绍了C#中获取.生成随机数的三种方法,本文讲解了Random 类生成法.Guid 类生成法以及RNGCryptoServiceProvider 类生成法,需要的朋友可以参考下 随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当前系统时钟为种子,进行一系列算法得出要求范围内的伪随机数. 代码如下: Random rd = new R

php生成随机数的三种方法_php技巧

如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. <?php $arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values." "; } ?> 例2,使用array_unique函数生成随机数. <?php $arr=array(); while(count($arr)<10) { $arr[]=rand(1,10); $arr=array_

asp.net 生成随机数的几种方法

我们可以使用两种方式初始化一个随机数发生器: ??第一种方法不指定随机种子,系统自动选取当前时间作为随机种子: ??random ro = new Random();     实例 private static char[] constant = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',

ASP.NET中C#生成随机数的几种方法

例子1 ASP.NET c#生成随机数的类文件,按要求产生一些随机数,最大值.最小值可以自己进行设定.代码简单,可放在你的公共库内供调用使用:类代码具体如下:  代码如下 复制代码 using System; namespace DotNet.Utilities {     /// BaseRandom  /// 产生随机数  /// 随机数管理,最大值.最小值可以自己进行设定.  public class BaseRandom  {   public static int Minimum =

php生成随机密码的三种方法小结

使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考. 方法一: 1.在 33 – 126 中生成一个随机整数,如 35, 2.将 35 转换成对应的ASCII码字符,如 35 对应 # 3.重复以上 1.2 步骤 n 次,连接成 n 位的密码 该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数

php生成随机密码的三种方法小结_php技巧

使用PHP开发应用程序,尤其是网站程序,常常需要生成随机密码,如用户注册生成随机密码,用户重置密码也需要生成一个随机的密码.随机密码也就是一串固定长度的字符串,这里我收集整理了几种生成随机字符串的方法,以供大家参考. 方法一: 1.在 33 – 126 中生成一个随机整数,如 35, 2.将 35 转换成对应的ASCII码字符,如 35 对应 # 3.重复以上 1.2 步骤 n 次,连接成 n 位的密码 该算法主要用到了两个函数,mt_rand ( int $min , int $max )函数

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

分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下. 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数. <?php $arr=range(1,10); shuffle($arr); foreach($arr as $values) { echo $values." "; } ?> 例2,使用array_unique函数生成随机数. <?php $arr=array();

生成不重复的随机数的二种方法

下面我以生成1-10之间的10个不重复的随机数为例介绍生成不重复的随机数的三种方法:1. 通过while循环来实现通过while循环不停的生成随机数,直到生成一个不重复的为止,这种方法比较容易想到,但是效率也比较低下,实例代码如下: static void Main(string[] args) { int[] result = new int[10]; int tmp = -1; Random random = new Random(); bool repeat = false; for (i

一起谈.NET技术,生成不重复的随机数的二种方法

下面我以生成1-10之间的10个不重复的随机数为例介绍生成不重复的随机数的三种方法:1. 通过while循环来实现通过while循环不停的生成随机数,直到生成一个不重复的为止,这种方法比较容易想到,但是效率也比较低下,实例代码如下: static void Main(string[] args) {int[] result = new int[10];int tmp = -1; Random random = new Random();bool repeat = false;for (int i