>  기사  >  类库下载  >  PHP는 단순히 임의의 문자열을 생성합니다.

PHP는 단순히 임의의 문자열을 생성합니다.

高洛峰
高洛峰원래의
2016-10-20 15:27:131537검색

PHP简单生成随机字符串自定义方法

/**
 * 生成随机字符串
 * @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;
}

使用方法:

echo get_randomstr(6);
echo get_randomstr(7);

输出:

vS8wZK
hQ17fEI

以上的这两个结果都会随机生成,每次运行的结构都会不一样。


解析:

通过参数传入生成字符串的个数给方法get_randomstr();get_randomstr()方法再通过get_random方法生成随机数返回给get_randomstr(),其实这一过程是通过两个自定义方法来完成的,我个人也觉得比较繁琐,虽然思路是清晰的。其实这种方法的好处就是当我们在公共方法把get_random方法写死的时候,如果后面发现有些功能是get_random不能满足的事情下,我们可以通过get_randomstr方法来扩展。


所以在一般情况下,我更建议大家使用下面的方法去生成随机字符串:

生成PHP随机数的几种方法


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기