Occurrences mots dans un texte

Fermé
ouss747 Messages postés 109 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 23 juin 2013 - 22 déc. 2010 à 22:09
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 22 déc. 2010 à 22:54
bonsoir
j'essaye de calculer les occurrences des mots dans un text (tableau de chaine de caracteres) j'ai fait ca


$interet=explode(" ",$interet);// rendre le text "interet" un tableau en utilisant explode
$occurences=array();
foreach($interet as $mot)
{
if(in_array($mot,$interet))
{

$occurences[$mot] += 1; // ici la ligne 78
}
else
{
$occurences[$mot]= 0;
}

}

print_r($occurences);
}

le probleme est que j'obtient ca:

Notice: Undefined index: in C:\wamp\www\projet\index.php on line 78

MAIS j'obtient les resultats que je souhaites apres ce message d'erreur

comment supprimer l'erreur?

1 réponse

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
22 déc. 2010 à 22:54
Salut.

Tu peux tout simplement utiliser les fonctions preg_match_all() et count() (cette dernière servira à compter le nombre d'entrées dans le tableau résultant de preg_match_all).

Ta condition est totalement inutile : $mot est forcément dans $interet.
Ensuite, tu incrémentes la variable de 1. Mais il faut vérifier si elle existe avant.
Je pense que ton print_r() il vaudrait mieux le mettre après la boucle foreach.
1