occurrences mot dans un text

Petit nouveau ! | 5 Messages

22 déc. 2010, 22:58

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
			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:

Code : Tout sélectionner

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?

ViPHP
ViPHP | 5462 Messages

23 déc. 2010, 02:17

utilise plutôt str_word_count et array_count_values, ca fera exactement ce que tu veux sans bidouille

spols.
Invité n'ayant pas de compte PHPfrance

23 déc. 2010, 11:37

Dans un but d'apprentissage,

ton erreur est une 'notice', elle n'empèche pas l'éxécution de ton script.
Ton if est toujours vrai, vu que mot découle de l'array interet, mot fait toujours partie de interet

si (et seulement si) tu continuais avec ton script, ton test devrai plutot être
if (isset($interet[$mot]))
Mais la fonction donné précédemment cera plus efficace

Mammouth du PHP | 1967 Messages

23 déc. 2010, 17:43

J'ai été un peu vite tantot

le test devrait être
if (isset($occurences[$mot]))

et désolé pour les fautes de frappe
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube