php - 生成一个 5 个字符长的字符串 0-9 a-z

标签 php

我需要一个 php 函数,它可以生成一个包含数字和 a-z 的 5 个字符长的字符串

我应该检查什么?

最佳答案

其他人已经为您提供了正确的答案,但这里只简单介绍一下:

$code = substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyz'), 0, 5);

str_shuffle 随机化上述字符串,然后 substr 取该随机字符串的前 5 个字母。简单。


如该答案的注释中所述,此函数仅生成仅包含唯一字符的字符串。如果想要字符串甚至可以是 "aaaaa",这里有一个小函数可以做到这一点:

function generate($len) {
    return substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyz', $len)), 0, $len);
}

echo generate(5);

str_repeat 将 0-9a-z 字符串重复 $len 次,因此每个字母在每个位置都有一个几乎相同的可能性。 (阅读关于为什么只有“几乎”的评论)

关于php - 生成一个 5 个字符长的字符串 0-9 a-z,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992978/

相关文章:

php - 我有在 SDK 上运行但不在设备上运行的 Android 数据库应用程序

php - 通过 Symfony2 配置 DBAL 以返回小写键

php - MongoDB 代码点火器

php - 如何在 laravel 中为特定环境运行迁移

php - 搜索多个类别

低于 5.6 版的 PHP cafile

php - MVC 中 Controller 和模型的区别

php - 为 iOS 打包网络应用程序 - 全屏 iframe?

php - 去除 html 标签

MySQL 中的 PHP "Nested"事务可以使用以下代码实现吗?