Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3106 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Liste de mot sur fichier txt dans lequel le script doit piocher

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Liste de mot sur fichier txt dans lequel le script doit piocher

n°1358607
pouzy
Ne signe pas d'autographes..
Posté le 03-05-2006 à 13:46:31  profilanswer
 

Bonjour à tous !
Voilà, j'ai besoin d'une génération de mots aléatoire, que le script tire un mot du lot à chaque fois.  
J'ai donc fait un petit rand() comme suit :  
 

Code :
  1. $mot = rand(0,32);
  2. switch ($mot) {
  3. case 0:
  4.    $mot = "jeux";
  5.    break;
  6. case 1:
  7.    $mot = "rencontres";
  8.    break;
  9. case 2:
  10.    $mot = "ordinateurs";
  11.    break;
  12. ...
  13. case 31;
  14.     $mot = "box";
  15.     break;
  16. case 32;
  17.     $mot = "console";
  18.     break;
  19. }


 
Bon, d'accord, ça fonctionne, mais si je veux arriver a quelques centaines de mots, je vais vite galérer...  
Donc je voudrais savoir, quelqu'un aurait-il une idée de comment faire pour mettre les mots les uns a la suite des autres dans un fichier txt, et que le script pioche tout seul un mot au pif dedans ? :)
Ou quelquechose de similaire, quoi :)
 
Merci ! :D


---------------
Hello hello super jello
mood
Publicité
Posté le 03-05-2006 à 13:46:31  profilanswer
 

n°1358614
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-05-2006 à 14:03:59  profilanswer
 

tu mets tous tes mots dans un fichier, séparés par des ';' par exemple et ensuite:

Code :
  1. $mot= array_rand(split(';' ,file_get_contents('tonfichier')));


edit: si tu dois piocher plusieurs mots, tu as un deuxième paramètre à array_rand qui sert à ça.
si tu dois piocher plusieurs fois un mot, mets ton file_get_contents dans une variable pour ne lire le fichier qu'une seule fois!


Message édité par anapajari le 03-05-2006 à 14:05:17
n°1358816
pouzy
Ne signe pas d'autographes..
Posté le 03-05-2006 à 16:30:53  profilanswer
 

Coucou et merci de ta réponse !
Il y a comme un problème.  
Lorsque j'utilise ta technique, et que je fais un echo $mot; j'ai un chiffre ( aléatoire, genre 1, 28, etc.. ) ca doit correspondre à la position du mot pioché dans le texte, mais le problème c'est que c'est pas le mot lui même qui est sorti :/  
 
Normal ? :/


---------------
Hello hello super jello
n°1358821
sielfried
Posté le 03-05-2006 à 16:33:21  profilanswer
 
n°1358824
soju
One shot !
Posté le 03-05-2006 à 16:35:21  profilanswer
 

pouzy a écrit :

ca doit correspondre à la position du mot pioché dans le texte

donc tu peux corriger l'erreur toi même vu que tu en connais la cause :whistle:  

n°1358826
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-05-2006 à 16:36:37  profilanswer
 

comme tu le signales fort justement sielfried array_rand retourne en fait la position de l'element dans le tableau ( je m'a planté il faut bien le reconnaitre)...
Du coup tu peux pas tout faire en une ligne:

Code :
  1. $tousLesmots = split(';' ,file_get_contents('tonfichier'));
  2. $mot = $tousLesmots[array_rand($tousLesmots)];

n°1358827
pouzy
Ne signe pas d'autographes..
Posté le 03-05-2006 à 16:37:02  profilanswer
 

Oui, je suis déjà dessus, mais ça m'avance pas énormément.. je ne suis pas très calé en codage : en gros, il me manque un array ? :/


---------------
Hello hello super jello
n°1358840
soju
One shot !
Posté le 03-05-2006 à 16:43:34  profilanswer
 

un détail : explode est plus rapide que split (oui je chipote ^^)

n°1358843
pouzy
Ne signe pas d'autographes..
Posté le 03-05-2006 à 16:44:05  profilanswer
 

il suffit de remplacer split par explode ? pAs de modif majeure a faire ? ( merci anapajari, c'est nickel sinon :) )

Message cité 1 fois
Message édité par pouzy le 03-05-2006 à 16:47:00

---------------
Hello hello super jello
n°1358866
soju
One shot !
Posté le 03-05-2006 à 16:57:46  profilanswer
 

pouzy a écrit :

il suffit de remplacer split par explode ? pAs de modif majeure a faire ? ( merci anapajari, c'est nickel sinon :) )

oui, mais c'est pas obligatoire, c'était juste histoire de chipoter  :whistle:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Liste de mot sur fichier txt dans lequel le script doit piocher

 

Sujets relatifs
Liste déroulante et Zone de liste [ Access ]Ouvrir un tableau avec une liste modifiable
Changer dynamiquement l'élément selected d'une liste déroulant ?[KSH]Commande su dans un script
[batch] Amélioration de scriptcomment lire les caractères accentués dans un fichier texte ?
imprimer un fichierListe imbriquées refusées par le W3C ?
Accès à un fichier sur réseauParser un fichier csv
Plus de sujets relatifs à : Liste de mot sur fichier txt dans lequel le script doit piocher


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR