Rumah > pembangunan bahagian belakang > tutorial php > php生成随机数的三种方法_PHP教程

php生成随机数的三种方法_PHP教程

WBOY
Lepaskan: 2016-07-13 10:19:14
asal
889 orang telah melayarinya

php生成随机数的三种方法

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

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

 

1

2 $arr=range(1,10);

3 shuffle($arr);

4 foreach($arr as $values)

5 {

6   echo $values." ";

7 }

8 ?>

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

 

1

2 $arr=array();

3 while(count($arr)

4 {

5   $arr[]=rand(1,10);

6   $arr=array_unique($arr);

7 }

8 echo implode(" ",$arr);

9 ?>

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

 

01

02 $arr=array();

03 $count1=0;

04 $count = 0;

05 $return = array();

06 while ($count

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 "
";

17 $arr=array_values($return);// 获得数组的值 

18 foreach($arr as $key)

19 echo $key." ";

20 ?>

php随机数生成函数示例

01

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)

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

36 echo randpw(8,'NUMBER');

37 echo "
";

38 }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/876453.htmlTechArticlephp生成随机数的三种方法 如何用php生成1-10之间的不重复随机数? 例1,使用shuffle函数生成随机数。 1 ?php 2 $arr=range(1,10); 3 shuffle($arr); 4 fo...
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan