Maison > Article > développement back-end > PHP exploite des chaînes et des tableaux pour implémenter un algorithme de similarité
Cet article présente principalement la méthode d'interrogation de la chaîne avec la plus grande similarité en PHP. Il implique les techniques d'exploitation des chaînes et des tableaux PHP pour implémenter des algorithmes de similarité. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. >
L'exemple de cet article décrit la méthode d'interrogation de la chaîne présentant la plus grande similarité en PHP. Les détails sont les suivants : Selon la chaîne et le tableau entrants, renvoie la chaîne avec la plus grande similarité dans le tableau 1 Le code PHP est le suivant : 2. L'exemple de code est le suivant :function closest_word($input, $words) { $shortest = -1; foreach ($words as $word) { $lev = levenshtein($input, $word); if ($lev == 0) { $closest = $word; $shortest = 0; break; } if ($lev <= $shortest || $shortest < 0) { $closest = $word; $shortest = $lev; } } return $closest; }
// 根据传入的州名(可能客户有输错),返回相似度最高的州名称 $united_state_list = array( 'AL'=>"Alabama", 'AK'=>"Alaska", 'AZ'=>"Arizona", 'AR'=>"Arkansas", 'CA'=>"California", 'CO'=>"Colorado", 'CT'=>"Connecticut", 'DE'=>"Delaware", 'DC'=>"District Of Columbia", 'FL'=>"Florida", 'GA'=>"Georgia", 'HI'=>"Hawaii", 'ID'=>"Idaho", 'IL'=>"Illinois", 'IN'=>"Indiana", 'IA'=>"Iowa", 'KS'=>"Kansas", 'KY'=>"Kentucky", 'LA'=>"Louisiana", 'ME'=>"Maine", 'MD'=>"Maryland", 'MA'=>"Massachusetts", 'MI'=>"Michigan", 'MN'=>"Minnesota", 'MS'=>"Mississippi", 'MO'=>"Missouri", 'MT'=>"Montana", 'NE'=>"Nebraska", 'NV'=>"Nevada", 'NH'=>"New Hampshire", 'NJ'=>"New Jersey", 'NM'=>"New Mexico", 'NY'=>"New York", 'NC'=>"North Carolina", 'ND'=>"North Dakota", 'OH'=>"Ohio", 'OK'=>"Oklahoma", 'OR'=>"Oregon", 'PA'=>"Pennsylvania", 'RI'=>"Rhode Island", 'SC'=>"South Carolina", 'SD'=>"South Dakota", 'TN'=>"Tennessee", 'TX'=>"Texas", 'UT'=>"Utah", 'VT'=>"Vermont", 'VA'=>"Virginia", 'WA'=>"Washington", 'WV'=>"West Virginia", 'WI'=>"Wisconsin", 'WY'=>"Wyoming" ); $input_state = 'Wiscsin'; $state = closest_word($input_state ,array_values($united_state_list)); echo $state;Résumé
: Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Recommandations associées :
Port de connexion QQ de la version PHPOpérateur ternaire de PHP Définition PHP, parcours et suppression de tableauxCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!