本文实例讲述了php简单随机字符串生成方法。分享给大家供大家参考,具体如下:<?php
本文实例讲述了php简单随机字符串生成方法。分享给大家供大家参考,具体如下:
<?php
function rand_str($length,$p='all'){
$nums = '0123456789';
$lowers = 'abcdefghijklmnopqrstuvwxyz';
$uppers = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if ($p == 'all') {
$src = $nums.$lowers.$uppers;
} else {
$src = '';
if (strpos($p, 'num') !== false)
$src .= $nums;
if (strpos($p, 'lower') !== false)
$src .= $lowers;
if (strpos($p, 'upper') !== false)
$src .= $uppers;
}
return $src? substr(str_shuffle($src), 0, $length) : $src;
}
?>
去网上搜了一下随机字符串的php函数, 发现大部分的实现都用到了循环--这有点低效率啊. 在php中, 有各种各样的函数, 只有你想不到, 没有他想不到. str_shuffle()函数可以轻松做到随机字符串. 不过呢, 还是封装一个吧, 毕竟有的人有只用大写字母和只用数字的需求.
函数的第二个参数num, lower, upper可以随意组合哦.
真正核心的语句只有一行
substr(str_shuffle($src), 0, $length)
作用是将字符串$src乱序并且截取前$length个字符.
PS:这里再为大家提供两款功能类似的在线工具供大家参考:
在线随机数字/字符串生成工具: http://tools.jb51.net/aideddesign/suijishu
高强度密码生成器: http://tools.jb51.net/password/CreateStrongPassword
php 随机字符串