php - 如何在php中创建字母生成线
问题描述
所以我正在尝试制作一个 md5 字典,我想通过最简单的方法,当然是用我想要的字母创建一个数组,然后设置一个 loooooop 并且每次我都会创建每个字母的 md5(回声$array[%SOMEVALUEHERE%]) 但问题是,当我想重复它们时,很容易做字母表的第一行 (a,b,c....) buuuuut (aa,ab,ac... ...)我似乎找不到不需要我编写 100000 行代码的方法,所以有人可以指导我正确的方法吗?
解决方案
如果我理解正确,目标是生成一定长度的字符串,每个字母组合?
Ex:
a, b, c...
aa, ab, ac...
aaa, aab, aac...
如果是这种情况,您可以构建一个包含 26 个字母的数组并将它们传递给一个递归函数,该函数将字符串构建到您正在寻找的长度。这是一个使用 abc 且长度最多为 4 的快速示例。它只是回显字符串,但您可以对它们做任何您喜欢的事情,而不是回显:
$arr = array('a', 'b', 'c');
buildString('', $arr, 1);
buildString('', $arr, 2);
buildString('', $arr, 3);
buildString('', $arr, 4);
function buildString($currString, $arr, $targetLength)
{
foreach($arr as $letter)
{
$tmpString = $currString . $letter;
if(strlen($tmpString) != $targetLength)
{
buildString($tmpString, $arr, $targetLength);
}
else
{
echo $tmpString . PHP_EOL;
}
}
}
为了您的目的,可能需要对此进行一些调整,但这只是一个示例,可以让您大致了解如何处理它。
推荐阅读
- mysql - 我正在尝试连接 MySQl 和 Flask,但我不断收到错误消息。我正在为这个网络应用程序使用 XAMPP
- nivo-react - 控制 Nivo 条形图中标记线的宽度
- c++ - std::reference_wrapper 之间的最佳可行重载函数
和T - python-3.x - Pandas 使用 map 或 apply 使用字典从调整中创建新列
- google-slides - 在 Google 幻灯片中自动执行任务
- hdfs - 如何在最新的 Tensorflow 2.6.0 中访问 HDFS 文件系统?
- javascript - JS - 为什么我的“或”等式中的第二个值没有被识别
- r - 从 RMagick 列表中旋转特定图像
- java - 如何使用 Collectors.groupingBy 获得 HashMap 值
- javascript - Kotlin 多平台库依赖项中缺少 js.lower.serialization.ir.JsIrLinker$JsModuleDeserializer