Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2010, 22h03   #1
 
Inscription : mars 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 36
Points : -1
Points : -1
Par défaut occurrences mots dans un texte

bonsoir
j'essaye de calculer les occurrences des mots dans un texte (tableau de chaîne de caractères) j'ai fait ça

Citation:
$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 problème est que j’obtiens ça:
Citation:
Notice: Undefined index: in C:\wamp\www\projet\index.php on line 78
MAIS j’obtiens les résultats que je souhaites après ce message d'erreur

comment supprimer l'erreur?
ouss747 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 22h12   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonsoir,

substr_count
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 22h37   #3
 
Inscription : mars 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 36
Points : -1
Points : -1
Citation:
Envoyé par Madfrix Voir le message
Bonsoir,

substr_count
merci pour votre reponse

le probleme avec substr_count est que cette fonction compte le nombre de caractere mais moi je cherche a calculer le nombre de mots
ouss747 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 22/12/2010, 22h44   #4
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Regarde bien les exemples donnés dans le lien, cette fonction retourne le nombre d'occurrences (mots ou simple caractères) dans une chaine.

La seule limitation comme c'est écrit est la suivante :

Citation:
Cette fonction ne compte pas les chaînes de caractères qui se recouvrent.
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 22h52   #5
 
Inscription : mars 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 36
Points : -1
Points : -1
Citation:
Envoyé par Madfrix Voir le message
Regarde bien les exemples donnés dans le lien, cette fonction retourne le nombre d'occurrences (mots ou simple caractères) dans une chaine.

La seule limitation comme c'est écrit est la suivante :
exemple avec resultat indésirable:

"introduction in mathematic "

occurence de in ---> 2 au lieu de 1
comment je paux regler ce probleme?
ouss747 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 23h01   #6
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Si tu veux rechercher un mot, il y a de grandes chances qu'il soit entouré comme dans ton exemple d'espaces donc tu peux faire ceci :

Code :
1
2
 
substr_count ('introduction in mathematic' , ' in ');
Par contre si tu sais que les mots peuvent démarrer ou finir une phrase et donc avoir généralement un point devant ou derrière, il te faudra utiliser je pense obligatoirement une expression régulière
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 23h03   #7
 
Inscription : mars 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 36
Points : -1
Points : -1
Citation:
Envoyé par Madfrix Voir le message
Si tu veux rechercher un mot, il y a de grandes chances qu'il soit entouré comme dans ton exemple d'espaces donc tu peux faire ceci :

Code :
1
2
 
substr_count ('introduction in mathematic' , ' in ');
Par contre si tu sais que les mots peuvent démarrer ou finir une phrase et donc avoir généralement un point devant ou derrière, il te faudra utiliser je pense obligatoirement une expression régulière
j'ai pensé à utiliser les expression reguliere mais je pense pas que c'est possible de les utiliser avec cette fonction.
ouss747 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 23h08   #8
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
je n'ai pas dit de l'utiliser avec cette fonction. Par contre tu peux faire un preg_match_all puis faire un count() sur le tableau d'occurences créé
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2010, 23h34   #9
 
Inscription : mars 2008
Messages : 36
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 36
Points : -1
Points : -1
Citation:
Envoyé par Madfrix Voir le message
je n'ai pas dit de l'utiliser avec cette fonction. Par contre tu peux faire un preg_match_all puis faire un count() sur le tableau d'occurences créé
Merci bcp pour votre aide
ouss747 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 01h27   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
utilise plutôt str_word_count et array_count_values, ca fera exactement ce que tu veux sans bidouille
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h11.


 
 
 
 
Partenaires

Hébergement Web