私はphpで10文字(zzzzzzzzzz)のすべての可能な単語を書かせようとしています。どうやってやるの?それはそのようになります:http://i.imgur.com/sgUnL.png
私はそれにいくつかの方法を試しましたが、彼らは1文字からランダムに増加するのではなく、10文字しか作成していません。ちなみに実行時間とその大きさは問題ありません。私はそれのためにアルゴリズムを使う必要があります、誰かがそれをコードで見せれば、もちろんそれはもっと役立つでしょう..
私はphpで10文字(zzzzzzzzzz)のすべての可能な単語を書かせようとしています。どうやってやるの?それはそのようになります:http://i.imgur.com/sgUnL.png
私はそれにいくつかの方法を試しましたが、彼らは1文字からランダムに増加するのではなく、10文字しか作成していません。ちなみに実行時間とその大きさは問題ありません。私はそれのためにアルゴリズムを使う必要があります、誰かがそれをコードで見せれば、もちろんそれはもっと役立つでしょう..
function words($length, $prefix='') {
if ($length == 0) return;
foreach(range('a', 'z') as $letter) {
echo $prefix . $letter, "\n";
words($length-1, $prefix . $letter);
}
}
使用法:
words(10);
ここで試してみてください: http://codepad.org/zdTGLtjY (単語は 3 文字まで)
バージョン 1:
for($s = 'a'; $s <= 'zzzzzzzzzz'; print $s++.PHP_EOL);
以下のコメントで Paul が指摘したように、これはzzzzzzzzyz
. 少し遅いですが(誰かが気になる場合)、正しいバージョンは次のとおりです。
//modified to include arnaud576875's method of checking exit condition
for($s = 'a'; !isset($s[10]); print $s++.PHP_EOL);
<?php
function makeWord($length, $prefix='')
{
if ($length <= 0)
{
echo $prefix . "\n";
return;
}
foreach(range('a', 'z') as $letter)
{
makeWord($length - 1, $prefix . $letter);
}
}
// Use the function to write the words.
$minSize = 1;
$maxSize = 3;
for ($i = $minSize; $i <= $maxSize; $i++)
{
makeWord($i);
}
?>