欢迎大家来到我的频道!今天我又开始玩一个新的系列啦,就是关于PHP字符串的玩法~走过路过不要错过啦,也欢迎大家给出合理的建议,本人不是大佬,只是致力于领新人入门,不过技
那么,开始正文!
如标题所述,本文中心是关于生成随机密码的实现。那么在PHP中实现随机数,大家第一反应估计就是rand
函数,但是今天咱们不允许用rand!(关于rand的使用可以阅读《PHP数学函数实践三:随机函数rand()的巧妙运用》)
不用rand(),自然有其他方法,下面我来给大家介绍另一种简单的实现随机数的方法:
直接上代码:
<?php function password_generate($chars) { $data = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz'; return substr(str_shuffle($data), 0, $chars); } echo password_generate(7)."\n";
首先定义一个password_generate方法,然后在方法体内定义一个字符串,再结合str_shuffle和substrh函数来实现生成。
这里咱们给定的字符串就是“1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcefghijklmnopqrstuvwxyz”,要求就是在这个字符串里面随机密码。
运行结果看如下:
依旧很简单吧!
这里,我们用到两个重要的函数,str_shuffle()
和substr()
函数。
str_shuffle()
函数是用于随机地打乱字符串中的所有字符,其语法就是“str_shuffle(string)
”。返回值是返回已打乱的字符串。
substr()
函数用于返回字符串的一部分,其语法是“substr(string,start,length)
”,返回值是返回字符串的提取部分,若失败则返回 FALSE,或者返回一个空字符串。
需要注意的是如果start参数是负数且length小于或等于start,那么length为0。
最后给大家