Codice PHP:
<?php
$argc = array();
$argv = array();
//oppure...
$argc = "";
$argv = "";
#Genera tutte le possibili combinazioni ricevendo in ingresso una stringa con tutti caratteri #diversi.
$parola="1,2,3,4,5,6,7,8,9,10";
if($argc != 2){
echo "Utilizzo: $argv[0] word\n";
return;
}
$parola = $argv[1];
$giaestratte = array();
$finali = array();
for($i=1,$a=1;$i<=strlen($parola);$i++){
$a*=$i;
}
echo "$a Combinazioni Disponibili.\n";
for($i=0;$i<$a;$i++){
$estratta = Genera($parola);
while(in_array($estratta,$giaestratte)){
$estratta = Genera($parola);
}
$giaestratte[] = $estratta;
$finali[] = $estratta;
}
print_r($finali);
function Genera($parola){
$estratti = array();
for($b=0;$b<strlen($parola);$b++){
$random = mt_rand(0,strlen($parola)-1);
while(@in_array($random,$estratti)){
$random = mt_rand(0,strlen($parola)-1);
}
$estratti[] = $random;
$lettere[$b].=$parola[$random];
}
unset($estratti);
foreach($lettere as $parola){
$a.=$parola;
}
return $a;
}
Genera();
?>