时时商务社区
标题:
php查询相似度最高的字符串的方法
[打印本页]
作者:
wx_pylelnL4
时间:
2018-2-14 05:48
本文实例讲述了php查询相似度最高的字符串的方法。分享给大家供大家参考。具体如下:
根据传入的字符串和数组,返回数组中相似度最高的字符串
1. PHP代码如下:
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
2. 代码示例如下:
// 根据传入的州名(可能客户有输错),返回相似度最高的州名称
$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'=>"
ennsylvania",
'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;
希望本文所述对大家的php程序设计有所帮助。
您可能感兴趣的文章:
php 大数据量及海量数据处理算法总结
php数字游戏 计算24算法
PHP中计算字符串相似度的函数代码
关于PHP的相似度计算函数:levenshtein的使用介绍
如何使用php绘制在图片上的正余弦曲线
PHP大转盘中奖概率算法实例
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
PHP实现的简易版图片相似度比较
php计算两个整数的最大公约数常用算法小结
php编写的抽奖程序中奖概率算法
使用PHP similar text计算两个字符串相似度
PHP数据分析引擎计算余弦相似度算法示例
欢迎光临 时时商务社区 (http://bbs.4435.cn/)
Powered by Discuz! X3.2