Heim >Backend-Entwicklung >PHP-Tutorial >php生成随机数的三种方法_PHP教程

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-07-13 10:19:14923Durchsuche

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...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn