今天做短信验证码,碰到要生成六位随机数,网上看了一下,乱七八糟的方法都有,有的代码竟达到20行!
其实这个问题很好解决,方法也很多,下面就看两种方法:
方法一:
// 生成随机六位数,不足六位两边补零,这个是比较好的做法
$param = str_pad(mt_rand(0, 999999), 6, "0", STR_PAD_BOTH);
方法二:
//这个是懒人做法,直接生成十万到99万之间的随机数
$parama=mt_rand(100000,999999);
知识补充:
str_pad
(PHP 4 >= 4.0.1, PHP 5, PHP 7)
str_pad — 使用另一个字符串填充字符串为指定长度
说明
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
该函数返回 input 被从左端、右端或者同时两端被填充到制定长度后的结果。如果可选的 pad_string 参数没有被指定,input 将被空格字符填充,否则它将被 pad_string 填充到指定长度。
参数
input
输入字符串。
pad_length
如果 pad_length 的值是负数,小于或者等于输入字符串的长度,不会发生任何填充。
pad_string
Note:
如果填充字符的长度不能被 pad_string 整除,那么 pad_string 可能会被缩短。
pad_type
可选的 pad_type 参数的可能值为 STR_PAD_RIGHT,STR_PAD_LEFT 或 STR_PAD_BOTH。如果没有指定 pad_type,则假定它是 STR_PAD_RIGHT。
返回值
返回填充后的字符串。