Ciao a tutti... sto provando a fare un codice che apre da una wordlist in txt delle parole e controlla se possono essere scritte o no su una calcolatrice.. il codice è questo:
Codice PHP:
<? $file=file("parole.txt");
$numero[1]='i';
$numero[2]='e';
$numero[3]='s';
$numero[4]='l';
$numero[5]='b';
$numero[6]='o';
foreach($file as $parola){
$lettera = preg_split('//', $parola, -1, PREG_SPLIT_NO_EMPTY);
$i = 1;
while($i <= 6){
foreach($lettera as $lett){
if($lett == $numero[$i]){
$g++;
}
}
$i++;
}
if($g == strlen($parola)){
echo "$parola </br>";
}
}
?>
Ho pensato che era un errore di codice, ma togliendo il primo foreach il codice funziona... infatti se faccio:
Codice PHP:
<? $file=file("parole.txt");
$numero[1]='i';
$numero[2]='e';
$numero[3]='s';
$numero[4]='l';
$numero[5]='b';
$numero[6]='o';
$parola = "sololei";
$lettera = preg_split('//', $parola, -1, PREG_SPLIT_NO_EMPTY);
$i = 1;
while($i <= 6){
foreach($lettera as $lett){
if($lett == $numero[$i]){
$g++;
}
}
$i++;
}
if($g == strlen($parola)){
echo "$parola </br>";
}
?>
lo script mostra "sololei", mentre cambiando una lettera che non è possibile scrivere con i numeri capovolti lo script non mostra nulla. Ho provato anche a cancellare tutto il codice e vedere se era solo un problema con il file parole, ma se faccio:
Codice PHP:
<? $file=file("parole.txt"); foreach($file as $parola){ echo $parola; } ?>
appaiono tutte le parole della lista... dove ho sbagliato? adesso ho pensato di fare un codice facile che inserisca tutte le parole in un database MySql e poi usare quello, ma voglio proprio capire dove ho sbagliato!!!
Grazie a tutti in anticipo!