1 回答

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果我理解正確,目標(biāo)是生成一定長(zhǎng)度的字符串,每個(gè)字母組合?
Ex:
a, b, c...
aa, ab, ac...
aaa, aab, aac...
如果是這種情況,您可以構(gòu)建一個(gè)包含 26 個(gè)字母的數(shù)組,并將它們傳遞給一個(gè)遞歸函數(shù),該函數(shù)將字符串構(gòu)建到您要查找的長(zhǎng)度。這是一個(gè)使用abc和最大長(zhǎng)度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;
}
}
}
出于您的目的,可能需要對(duì)此進(jìn)行一些調(diào)整,但這只是一個(gè)示例,可讓您大致了解如何處理它。
- 1 回答
- 0 關(guān)注
- 86 瀏覽
添加回答
舉報(bào)