/** * 生成随机字符串 * @param string $lenth 长度 * @return string 字符串 */ function get_randomstr( $lenth = 6) { return get_random( $lenth , '123456789abcdefghijklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ' ); } /** * 产生随机字符串 * * @param int $length 输出长度 * @param string $chars 可选的 ,默认为 0123456789 * @return string 字符串 */ function get_random( $length , $chars = '0123456789' ) { $hash = '' ; $max = strlen ( $chars ) - 1; for ( $i = 0; $i < $length ; $i ++) { $hash .= $chars [mt_rand(0, $max )]; } return $hash ; } |
使用方法:
1 2 | echo get_randomstr(6); echo get_randomstr(7); |
输出:
1 2 | vS8wZK hQ17fEI |
以上的这两个结果都会随机生成,每次运行的结构都会不一样。
解析:
通过参数传入生成字符串的个数给方法get_randomstr();get_randomstr()方法再通过get_random方法生成随机数返回给get_randomstr(),其实这一过程是通过两个自定义方法来完成的,我个人也觉得比较繁琐,虽然思路是清晰的。其实这种方法的好处就是当我们在公共方法把get_random方法写死的时候,如果后面发现有些功能是get_random不能满足的事情下,我们可以通过get_randomstr方法来扩展。
评论