script générateur de mots

Eléphant du PHP | 259 Messages

07 mai 2006, 18:06

bonjour

je voudrais savoir si il existe un moyen de créer un script qui génère des mots ( même si ils sont incompréhensibles )

je pense déjà savoir ce qu'il lui faut mais je ne sais pas comment l'écrire

une liste de caractères
carac = array(a,b,c,d,e,f)
une longueur de mot
long = '3';
voila

après se serait comme un compteur
il ferait toutes les combinaisons possibles de 3 caractères de longueur avec les caractères disponibles

voila se qu'il ferait

aaa
aab
aac
aad
aae
aaf
aba
abb
abc
abd
abe
abf
aca
acb

...

est ce possible ???
merci d'avance pour votre aide

yann

Mammouth du PHP | 19672 Messages

07 mai 2006, 18:41

Oui, ce serait faisable. Un piste vers la solution :
- soit ta longueur est fixe et tu pourrais t'en sortir avec des boucles imbriquées;
- soit la longueur est variable auquel cas il faudrait te tourner vers une fonction récursive.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 259 Messages

09 mai 2006, 19:12

la longueur serait définit au début du script par une variable

le script génèrerait toutes les possibilitées de mots d'une longueur choisie avec les caractères choisis

Eléphant du PHP | 259 Messages

14 mai 2006, 20:46

un ami a moi qui s'y connais un peu ma conseillé d'essayer avec des foreach

mais il n'a malheureusement pas le temps d'essayer

avec de for imbriquée peut etre que sa peut marcher
l'hébergeur gratuit que j'utilisais: http://www.freeheberg.com (pas de limitte de débit, BP, 1à10Go, bdd mysql illimitées )
mainteant je suis chez OVH, payant mais plus adapté à de gros sites

ViPHP
ViPHP | 3607 Messages

15 mai 2006, 11:02

alors tu pourrais te servir de la fonction rand:
function mot($taille){
  $solution=array();
  for($i=0;$i<1000;$i++){ //à remplacer par une boucle while à déterminée
    $taille=0;
    $mot="";
      while ($longueur<$taille+1){
        $mot.=str(rand(97,122));
        $taille++;
      }
      if(in_array($mot,$solution)!=true){
         array_push($solution,$mot);
      }
   }
  return $solution;
}
j'ai pas tester, ça marche surement pas, mais c'est undébut

Invité
Invité n'ayant pas de compte PHPfrance

15 mai 2006, 14:43

merci
je vais continuer a chercher aussi
n'hésitez pas a proposer quelque chose !