php查询相似度最高的字符串的方法


Posted in PHP onMarch 12, 2015

本文实例讲述了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 <= $shortest || $shortest < 0) {
      $closest = $word;
      $shortest = $lev;
     }
    }
    return $closest;
}

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'=>"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;

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
支持oicq头像的留言簿(一)
Oct 09 PHP
PHP 图像尺寸调整代码
May 26 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php实现高效获取图片尺寸的方法
Dec 12 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
May 04 PHP
php中strtotime函数性能分析
Nov 20 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
ecshop添加菜单及权限分配问题
Nov 21 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
PHP实现通用alert函数的方法
Mar 11 #PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 #PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 #PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 #PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 #PHP
php模拟服务器实现autoindex效果的方法
Mar 10 #PHP
php浏览历史记录的方法
Mar 10 #PHP
You might like
PHP 各种排序算法实现代码
2009/08/20 PHP
c#中的实现php中的preg_replace
2009/12/21 PHP
PHP 引用是个坏习惯
2010/03/12 PHP
将list转换为json失败的原因
2013/12/17 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
Python实现备份MySQL数据库的方法示例
2018/01/11 Python
python读取TXT每行,并存到LIST中的方法
2018/10/26 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
python七夕浪漫表白源码
2019/04/05 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python list转置和前后反转的例子
2019/08/26 Python
wxPython实现列表增删改查功能
2019/11/19 Python
如何基于python实现不邻接植花
2020/05/01 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
美国在线印刷公司:PsPrint
2017/10/12 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
英国领先的在线鱼贩:The Fish Society
2020/08/12 全球购物
大学生怎样进行自我评价
2013/12/07 职场文书
优秀家长自荐材料
2014/08/26 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
angular4实现带搜索的下拉框
2022/03/25 Javascript