我们在很多开发当中,都需要生成随机字符,一般就会使用下面的 PHP 函数实现了:
代码语言:javascript复制<?php
function getRandomStr(){
$str = "";
$str_pol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";
$max = strlen($str_pol) - 1;
for ($i = 0; $i < 16; $i ) {
$str .= $str_pol[mt_rand(0, $max)];
}
return $str;
}
?>
其实 WordPress 已经自带了随机字符生成函数:wp_generate_password
,这个函数原来是用来生成用户默认密码时候用的,但是同样我们也可以用来生成随机字符,他有三个参数:
$length
:要生成的随机字符的长度,默认为:12,$special_chars
:随机字符中是否包含一些特殊字符,包含:!@#$%^&*()
,默认是 true,如果你要生成的随机字符不包含这些特殊字符,只是大小写字母加数字的话,这个参数要设置为 false。$extra_special_chars
:随机字符中是否包含一些更特殊的字符,比如:-_ []{}<>~` =,.;:/?|
,这一个用于生成 secret key 的时候使用。默认是 false。
比如我们要生成16位的随机字符,并且不包含任何特殊字符:
代码语言:javascript复制<?php $random_str =wp_generate_password(16,false);?>