欢迎大家来到我的频道!今天我又开始玩一个新的系列啦,就是关于PHP字符串的玩法~走过路过不要错过啦,也欢迎大家给出合理的建议,本人不是大佬,只是致力于领新人入门,不过技术大佬的资深讲解,可以看《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”,要求就是在这个字符串里面随机密码。

运行结果看如下:

GIF 2021-7-30 星期五 上午 10-12-57.gif

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

依旧很简单吧!

这里,我们用到两个重要的函数,str_shuffle()substr()函数。

str_shuffle() 函数是用于随机地打乱字符串中的所有字符,其语法就是“str_shuffle(string)”。返回值是返回已打乱的字符串。

substr() 函数用于返回字符串的一部分,其语法是“substr(string,start,length)”,返回值是返回字符串的提取部分,若失败则返回 FALSE,或者返回一个空字符串。

需要注意的是如果start参数是负数且length小于或等于start,那么length为0。

最后给大家

PHP字符串练习一:从给定的字符串生成随机密码