IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comparer 2 champs


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut Comparer 2 champs
    Bonsoir,

    J'ai deux chaines de caractères, et j'aimerais obtenir un pourcentage de concordance. J'ai essayé levenshtein

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $lev = levenshtein($text1, $text2);

    Mais je comprend pas bien les valeurs qu'il me renvoi.

    Quand c'est totalement équivalent, il me retourne 1, ca je peux comprendre.
    Mais par exemple, si je compare "duval jean claude" à "Roullier claude", il me retourne 8.

    Comment dois-je interpréter cette valeur ?

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    La définition de la doc ne te paraît pas pertinente ?
    Dans sa forme la plus simple, levenshtein() va prendre uniquement deux chaînes de caractères comme paramètres, et calculer simplement le nombre d'insertions, de remplacements et d'effacements nécessaires pour transformer str1 en str2.
    Si tu nous disais pour quel usage tu veux obtenir ce pourcentage de concordance, peut être pourrait-on t'indiquer des méthodes plus simples.

  3. #3
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    Je veux obtenir un pourcentage pour dire si oui ou non la chaine me semble être la meme chose.

    par exemple, si j'ai
    resto jean pierre
    jean pierre resto

    Je dois être capable de dire que c'est la meme chose

    D'autre exemples pourrait se rapprocher. Ensuite, je peux me dire, si on a 90% d'équivalence, alors c'est la même chose

  4. #4
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    Bonjour

    J'ai testé :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    similar_text($text1, $text2, $lev);

    Je ne comprend pas pourquoi il me renvoi pas 100% sur ce test :

    text1 : duval jean claude - text2 : duval jean claude => 94.117647058824%

    Une idée ?

  5. #5
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut
    Ok, j'ai trouvé, j'ai rajouté strtolower pour mettre les deux en minuscule.

    Voici quelques exemples de retour :

    Nom à comparer : duval jean claude

    Nom : duval jean claude => 100%
    Nom : roullier claude => 62.5%
    Nom : coiffure lejoint jean-pierre => 35.555555555556%
    Nom : paint jean-luc => 45.161290322581%
    Nom : fournier jean-pierre => 37.837837837838%
    Nom : rebours jean-yves => 41.176470588235%

    D'après vous, à quel pourcentage on peut dire qu'une chaine est équivalente ?

Discussions similaires

  1. comparer des champs texte
    Par moicats dans le forum Access
    Réponses: 2
    Dernier message: 12/02/2007, 14h37
  2. Comparer des champs smalldatetime
    Par Phenomenium dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/10/2006, 09h27
  3. Comparer des champs
    Par nicoreims dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/06/2006, 21h22
  4. [PHP-JS] Comparer 2 champs
    Par Zebulonn dans le forum Langage
    Réponses: 7
    Dernier message: 08/09/2005, 16h58
  5. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo