php 系统随机数,php 生成随机数

echo random_string("sha1",10);

/**

* rand 一个随机数

*

* @typestring

* alpha: 含有大小写字母

* alnum: 含有大小写字母以及数字

* numeric: 数字字符串。

* nozero: 不含零的数字字符串。

* 用 MD5 和 uniqid()加密的字符串。注意:第二个长度参数在这种类型无效。均返回一个32位长度的字符串

* sha1: 成的随机数加密值

* @returnstring

*/

function random_string($type = 'alnum', $len = 8)

{

switch($type)

{

case 'basic': return mt_rand();

break;

case 'alnum':

case 'numeric':

case 'nozero':

case 'alpha':

switch ($type)

{

case 'alpha':$pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

break;

case 'alnum':$pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

break;

case 'numeric':$pool = '0123456789';

break;

case 'nozero':$pool = '123456789';

break;

}

$str = '';

for ($i=0; $i < $len; $i++)

{

$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);

}

return $str;

break;

case 'unique':

case 'md5':

return md5(uniqid(mt_rand()));

break;

case 'encrypt':

case 'sha1':

return sha1(uniqid(mt_rand(), TRUE));

break;

}

}

另外一种办法:

function make_rand_str($length = 8 ){

$chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',

'i', 'j', 'k', 'l','m','n', 'o', 'p', 'q', 'r', 's',

't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D',

'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O',

'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z',

'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!',

'@','#', '$', '%', '^', '&', '*', '(', ')', '-', '_',

'[', ']', '{', '}', '', '~', '`', '+', '=', ',',

'.', ';', ':', '/', '?', '|');

$keys = array_rand($chars, $length);

$rand_str = '' ;

for($i = 0; $i < $length; $i++){

$rand_str .= $chars[$keys[$i]];

}

return $rand_str ;

}

echo make_rand_str(4);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值