питание от рекурсии
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);