Decouper un mot

Decouper un mot - PHP - Programmation

Marsh Posté le 09-06-2006 à 20:24:26    

Salut,
 
 
Je recherche une fonction en php qui me permette de decouper un mot lettre par lettre.
 
L'utilisateur rentre "WORD" dans un champ texte et derriere je decoupe ca en W O R D.
 
Deja ca et Il faut ensuite que je puisse stocker chaque lettre dans un variable si necessaire et attribuer une valeur à chaque lettre. le W = 1, le O = 2, le R = 3 et le D = 4, au final le mot WORD = 10.
 
 
Si vous voyez ce que je veux dire, merci d'avance pour votre aide.


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Marsh Posté le 09-06-2006 à 20:24:26   

Reply

Marsh Posté le 09-06-2006 à 20:41:06    

Pas PHP chez moi alors pas testé ... mais un truc dans ce genre la :

Code :
  1. <?
  2. $chaine = "wordword";
  3. $resultat = 0;
  4. $tab = array_values(array_count_values(str_split($chaine)));
  5. for($i=0 ; $i<count($tab) ; $i++)
  6. $resultat += ($i+1)*$tab[$i];
  7. echo $resultat;
  8. ?>


Si ca ne marche pas tu as le droit de regarder la doc sur les fonctions utilisées pour comprendre comment elles marchent et trouver le bug ... parce que l'algo est "la" quand meme.
 
Evidemment libre a toi de rajouter des traitements a ta chaine de depart avant de lancer l'algo : mettre en minuscule, supprimer les espaces ... que sais je encore ...


Message édité par afbilou le 09-06-2006 à 20:57:13
Reply

Marsh Posté le 09-06-2006 à 21:30:33    

Tonio94 a écrit :

Salut,
 
 
Je recherche une fonction en php qui me permette de decouper un mot lettre par lettre.


 
Y'a rien à découper, une chaîne est déjà un tableau de caractères.
 
Pour le reste, pour attribuer une valeur à chaque lettre, un simple tableau associatif peut faire l'affaire.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 09-06-2006 à 23:21:07    

Tableau associatif ? C'est à dire ?
 
"une chaine est deja un tableau de caracteres"
 
Tu veux dire que si $nom = WORD alors $nom[0] = W ?
 
[edit] : Ok j'ai essayé j'ai moi meme repondu à ma question. Mais comment associer une valeur à chaque lettre de l'alphabet sans faire des if de 3 km à chaque fois :o

Message cité 1 fois
Message édité par Tonio94 le 09-06-2006 à 23:32:59

---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Marsh Posté le 10-06-2006 à 00:23:55    

$char_values = array(
   'W' => 1,  
   'O' => 2,  
   ...
);
 
(c'est un peu les bases quand même)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 10-06-2006 à 00:31:12    

Tonio94 a écrit :

Tableau associatif ? C'est à dire ?
 
"une chaine est deja un tableau de caracteres"
 
Tu veux dire que si $nom = WORD alors $nom[0] = W ?
 
[edit] : Ok j'ai essayé j'ai moi meme repondu à ma question. Mais comment associer une valeur à chaque lettre de l'alphabet sans faire des if de 3 km à chaque fois :o


T'as remarqué que je t'ai donné une solution de 3 lignes qui fonctionne des le premier post de reponse qu moins ?

Reply

Marsh Posté le 10-06-2006 à 02:51:58    

Oui bien sur et je t'en remercie.
 
Je voulais juste savoir ce que sielfried appelait tableau associatif.
 
C'est peut-etre les bases du php, mais si je post ici c'est peut-etre aussi que je ne les ai pas ;)


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Marsh Posté le 12-06-2006 à 19:09:11    

sielfried a écrit :

$char_values = array(
   'W' => 1,  
   'O' => 2,  
   ...
);
 
(c'est un peu les bases quand même)


 
 
Alors peux-tu m'expliquer ou qqun, comment ca fonctionne et comment on l'utilise concretement ensuite ?
 
Merci.


Message édité par Tonio94 le 12-06-2006 à 19:09:34

---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Marsh Posté le 12-06-2006 à 19:24:37    

C'est nikel merci :)


---------------
~ Msi z790 Gaming Plus Wifi | i9-12900K + Dark Rock Pro4 | 64Go G-Skill DDR4 4800 | RTX 3080 Ti
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed