php - 如何使用 PHP 创建随机字符串?

标签 php string random

我知道 PHP 中的 rand 函数会生成随机整数,但是生成随机字符串的最佳方法是:

原始字符串,9 个字符

$string = 'abcdefghi';

示例随机字符串限制为 6 个字符

$string = 'ibfeca';

更新:我发现了大量此类函数,基本上我试图了解每个步骤背后的逻辑。

更新:该函数应根据需要生成任意数量的字符。

如果您回复,请评论部分。

最佳答案

如果要允许字符重复出现,可以使用这个函数:

function randString($length, $charset='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
{
    $str = '';
    $count = strlen($charset);
    while ($length--) {
        $str .= $charset[mt_rand(0, $count-1)];
    }
    return $str;
}

基本算法是生成 <length> 乘以 0 到 <字符数> 之间的随机数 - 我们使用 1 作为索引来从我们的字符中选择一个字符设置并连接这些字符。 0 和 <字符数> - 1 边界表示 $charset 字符串的边界,因为第一个字符使用 $charset[0] 和最后一个 $charset[count($charset) - 1].

关于php - 如何使用 PHP 创建随机字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/853813/

相关文章:

php - 在我的主题的 magento 1.9 中执行 4 步后结帐过程未继续

php - 使用 php 使用套接字发送电子邮件

java - 如何在 Java 中比较字符串?

c++ - 如何更改此notify_one以便选择随机线程?

random - 使用 JPQL 获取随机行

php - Mysqli 多个查询相互获取信息

php - Yii CGridview 索引过滤器

c++ - 为什么会抛出 out_of_range 错误?

JavaScript 通过多次出现的字母拆分字符串

java仅生成随机 "light"颜色