首页 > 代码库 > php知识案列分享

php知识案列分享

  今天再跟大家分享一下,以下案列。

                                                 

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

}

php知识案列分享