如何列出以下所有可能的组合:
字符串(4个字符,只有小写字母没有数字或特殊符号),#符号,字符串(5个字符,与第1个相同的rue)。
e.g:
dhgi#msodd
答案 0 :(得分:6)
假设:英文字母
for($firstPart = 'aaaa'; $firstPart != 'aaaaa'; $firstPart++) {
for($secondPart = 'aaaaa'; $secondPart != 'aaaaaa'; $secondPart++) {
echo $firstPart,'#',$secondPart,'<br />';
}
}
虽然你为什么要这样做,但我不知道。
这与您的previous question相关吗?
答案 1 :(得分:0)
由递归驱动
function bruteforce($data)
{
$storage = array();
tryCombination($data,'',$storage);
return $storage;
}
function tryCombination($input,$output,&$storage)
{
if($input == "")
{
if(!in_array($output,$storage))
array_push($storage,$output);
}else {
for($i = 0 ; $i < strlen($input) ; $i++)
{
$next = $output . $input[$i];
$remaining = substr($input,0,$i) . substr($input,$i + 1);
tryCombination($remaining,$next,$storage);
}
}
}
$final = bruteforce('yourData');
echo count($final);
print_r($final);