php生成随机数方法,php生成随机数的三种方法

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

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

$arr=range(1,10);

shuffle($arr);

foreach($arr as $values)

{

echo $values." ";

}

?>

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

$arr=array();

while(count($arr)<10)

{

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

$arr=array_unique($arr);

}

echo implode(" ",$arr);

?>

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

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

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

foreach($arr as $key)

echo $key." ";

?>

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)

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

}

原文:http://www.cnblogs.com/zoubizhici/p/5655788.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值