完美的PHP生成隨機(jī)字符串方法
所屬欄目: 網(wǎng)站開(kāi)發(fā) | 更新時(shí)間:2016-11-13 | 閱讀:4044 次
/**
+----------------------------------------------------------
* 生成隨機(jī)字符串
+----------------------------------------------------------
* @param int $length 要生成的隨機(jī)字符串長(zhǎng)度
* @param string $type 隨機(jī)碼類型:0,數(shù)字+大小寫(xiě)字母;1,數(shù)字;2,小寫(xiě)字母;3,大寫(xiě)字母;4,特殊字符;-1,數(shù)字+大小寫(xiě)字母+特殊字符
+----------------------------------------------------------
* @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;
}
//echo randCode(6,1);
+----------------------------------------------------------
* 生成隨機(jī)字符串
+----------------------------------------------------------
* @param int $length 要生成的隨機(jī)字符串長(zhǎng)度
* @param string $type 隨機(jī)碼類型:0,數(shù)字+大小寫(xiě)字母;1,數(shù)字;2,小寫(xiě)字母;3,大寫(xiě)字母;4,特殊字符;-1,數(shù)字+大小寫(xiě)字母+特殊字符
+----------------------------------------------------------
* @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;
}
//echo randCode(6,1);