1 回答

TA贡献1835条经验 获得超7个赞
如果我理解正确,目标是生成一定长度的字符串,每个字母组合?
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;
}
}
}
出于您的目的,可能需要对此进行一些调整,但这只是一个示例,可让您大致了解如何处理它。
- 1 回答
- 0 关注
- 69 浏览
添加回答
举报