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

  FORUM HardWare.fr
  Programmation
  PHP

  compter le nombre de fois que le mot est dans une chaine de caractére:

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

compter le nombre de fois que le mot est dans une chaine de caractére:

n°1233122
100top
Posté le 28-10-2005 à 02:33:35  profilanswer
 

Bonjour,
voila j'arrive pas ;) comme d'hab
je voudrais avoir les 5 mots qui sont le plus souvent dans une chaine de caratere,
le probleme c'est que j'arrive pas a les resortir alors que je sais lesquels c'est :

Code :
  1. <?
  2.    $mots = explode(" ",$chaine);
  3.    $nb = count($mots);
  4.     for ($i = 0; $i < $nb; $i++)
  5.         {
  6.         if (strlen($mots[$i]) < 3)
  7.             {
  8. // on ne prends pas en compte les petits mots comme le la etc...
  9.             $mots[$i] = "";
  10.             }
  11.         }
  12. $mots2 = array_count_values($mots);
  13. print_r($mot2);
  14. ?>


la je vois quel sont les mots les plus frequent mais ils ne sont pas classé dans l'ordre !! et je voudrais avoir les Top 10 par exemple !
comment je peux faire ???


Message édité par 100top le 28-10-2005 à 02:34:13
mood
Publicité
Posté le 28-10-2005 à 02:33:35  profilanswer
 

n°1233155
olivthill
Posté le 28-10-2005 à 08:52:22  profilanswer
 

Pour le top 5, je crois qu'il suffit d'ajouter :

arsort($mot2);
for ($i = 0; $i < 5; $i++)
   print($mot2[$i]);

Pour la doc sur arsort(), voir http://us2.php.net/manual/en/function.arsort.php


Message édité par olivthill le 28-10-2005 à 08:53:18
n°1233157
soju
One shot !
Posté le 28-10-2005 à 08:52:51  profilanswer
 

http://fr.php.net/arsort
non ?
 
EDIT : grilled

Message cité 1 fois
Message édité par soju le 28-10-2005 à 08:53:08
n°1233361
100top
Posté le 28-10-2005 à 12:16:33  profilanswer
 


 
non ca ne marche pas,
en fait je ne crois pas que le $mots2 = array_count_values($mots); soit bon parce que le tableau est inversé !!
 

Code :
  1. Array ( [0] => [1] => chein [2] => dort [3] => dehors [4] => [5] => [6] => [7] => pleut [8] => [9] => [10] => [11] => chien [12] => chat [13] => animaux [14] => animaux )
  2. // premier tableau contenant les mots avant le array_count_value
  3. Array ( [] => 7 [animaux] => 2 [chien] => 1 [chat] => 1 [dehors] => 1 [chein] => 1 [dort] => 1 [pleut] => 1 )
  4. // 2eme tableau avec le array_count_value !


 
est ce que vous voyez ce que ca fait ?
quand je fais print_t(arsort($mot2)); il me sort rien du tout.
je comprends pas :
definition :  
array_count_values() retourne un tableau contenant les valeurs du tableau input comme clés et leur fréquence comme valeur.  
 
de l'aide ???

n°1233450
soju
One shot !
Posté le 28-10-2005 à 14:02:42  profilanswer
 

$mot2 != $mots2

n°1233451
100top
Posté le 28-10-2005 à 14:03:27  profilanswer
 

soju a écrit :

$mot2 != $mots2


 
 
j'ai trouvé

Code :
  1. $mot2 = array_count_values($mots);
  2.   $nb=count($mot2)-1;
  3.   $array = array_keys($mot2);
  4.   $n_motcle2="";
  5.   for ($i = $nb; $i >= $nb-4; $i--) {
  6.   // on prends que les 5 meilleurs
  7.    $n_motcle2.=$array[$i]." ";
  8.   }


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

  compter le nombre de fois que le mot est dans une chaine de caractére:

 

Sujets relatifs
XSL-FO un caractère sur chaque nouvelle ligne[SQL*PLUS] Probleme avec caractere special & dans requete SQL
Date format chaine de caractere[PHP] Proposer au visiteur un nombre d'affichage de résultats
Compter le nombre de ligne d un tableau vba excelAller à la derniere ligne d'un fichier texte et recherche chaine
Définir le nombre de jours restant avant expiration...copie d'une chaine de caractères
Plus de sujets relatifs à : compter le nombre de fois que le mot est dans une chaine de caractére:


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