本文实例讲述了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.maopiaopiao.com/aideddesign/suijishu
高强度密码生成器:
http://tools.maopiaopiao.com/password/CreateStrongPassword
希望本文所述对大家PHP程序设计有所帮助。