Calcul de pertinence entre plusieurs chaines de caractères

patrice86 Messages postés 1520 Statut Membre -  
patrice86 Messages postés 1520 Statut Membre -
Bonjour,

Je dispose d'un tableau dans lequel des strings sont stockées.


array:8 [
0 => "CDG ARRIVEE"
1 => "CDG DEPART"
2 => "ORLY ARRIVEE"
3 => "ORLY DEPART"
4 => "GARE ARRIVEE"
5 => "GARE DEPART"
6 => "MAD"
7 => "TRANSFERT VILLE"
]


J'ai besoin de rechercher la ou les valeurs les plus proches en fonction d'une autre string : "Arrivée Aéroport".

Ici, les valeurs les plus proches qui devraient être retournées sont CDG ARRIVEE et ORLY ARRIVEE.

Je partirais bien sur le fait de préciser que "Aéroport" est un mot en rapport avec "CDG" et "ORLY" mais je ne vois pas du tout vers quelles méthodes PHP me tourné.

En fait, c'est un calcul de pertinence dont j'ai besoin qui me retournerait les valeurs les plus proches qui sont dans le tableau.

J'ai essayé avec les méthodes similar_text() mais les résultats ne sont pas pertinents.
La méthode m'indique que les valeurs les plus pertinentes sont "GARE ARRIVEE" et "GARE DEPART"

Merci pour votre aide :)
A voir également:

1 réponse

jordane45 Messages postés 40050 Statut Modérateur 4 757
 
Bonjour,
jette un oeil à la fonction levenshtein
https://programmation-web.net/2010/10/fonction-php-du-jour-levenshtein/
0
patrice86 Messages postés 1520 Statut Membre 125
 
Merci pour ta réponse.
J'ai essayé cette solution également mais dans certains cas ce n'est pas très pertinent.
Exemple, si ma chaîne de recherche est "Tsf Ville", "TRANSFERT VILLE" dispose d'un score levenshtein trop élevé.
0