php如何生成n位的随机数,给大家分享一个简单高效的方法,这里以随机生成6位数作为一个例子给大家演示。使用php的str_pad()和mt_rand()函数生成随机数。
方法一
2
3
使用mt_rand()函数可以生成100000-999999之间的随机数,这是最简单直接的方法,但是缺陷就是无法生成0-100000范围之间的数字。如果使用表达式mt_rand(0, 999999),当随机数落到了0-100000范围之间的数字就可以小于期盼的位数,如999,2998等等。
方法二
但是在随机数的应用的时候,需要保证位数的恒定,这个时候可以使用str_pad()函数补足需要的位数即可。
2
3
参数 | 描述 |
---|---|
string | 必需。规定要填充的字符串。 |
length | 必需。规定新字符串的长度。如果该值小于原始字符串的长度,则不进行任何操作。 |
pad_string | 可选。规定供填充使用的字符串。默认是空白。 |
pad_type | 可选。规定填充字符串的哪边。可能的值:STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。STR_PAD_LEFT - 填充字符串的左侧。STR_PAD_RIGHT - 填充字符串的右侧。这是默认的。 |
最终方案
2
3
最终实现随机生成0-999999之间的随机数,如果位数小于6位的时候在两侧用0补齐,有限在右侧补齐,如果缺了奇数位数,那么随机数右侧会比左侧多补一位。