之前我们有介绍过PHP随机函数rand()和mt_rand(),这两个函数都是用于产生指定范围内的随机数,在实际应用中,单个随机数往往不能满足我们的需求,有时候我们还需要产生非数值类型的随机字符串,比如生成随机密码和我们最熟悉不过的验证码;那么我们如何使用他们来产生指定长度的随机字符串呢? 下面我们介绍一个简单的做法,这仅仅是其中一个方法而已,目的是提供给一个思路,大家可以自由发挥一下写出满足自己所需要的功能的方法。 代码如下: <?php function generate_string( $length = 8 ) { // 字符集,可任意添加你需要的字符 $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|'; $random_str = ''; for ( $i = 0; $i < $length; $i++ ) { // 这里提供两种字符获取方式 // 第一种是使用 substr 截取$chars中的任意一位字符; // 第二种是取字符数组 $chars 的任意元素 // $random_str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1); $random_str .= $chars[ mt_rand(0, strlen($chars) - 1) ]; } return $random_str; } ?>
文章来源 CODETC,欢迎分享,转载请注明地址:
http://www.codetc.com/article-115-1.html
|