php 生成随机字符串,数字,大写字母,小写字母,特殊字符可以随意组合

* 生成随机字符串
* @param int $length 要生成的随机字符串长度
* @param string $type 随机码类型:0,数字+大小写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符
* @return string
*/

function randCode($length = 5, $type = 0) {

$arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|");

if ($type == 0) {

array_pop($arr);

$string = implode("", $arr);

} elseif ($type == "-1") {

$string = implode("", $arr);

} else {

$string = $arr[$type];

}

$count = strlen($string) - 1;

$code = '';

for ($i = 0; $i < $length; $i++) {

$code .= $string[rand(0, $count)];

}

return $code;

}