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无限分类的深入理解
Jun 02 PHP
完整删除ecshop中获取店铺信息的API
Dec 24 PHP
PHP中require和include路径问题详解
Dec 25 PHP
php实现的数字验证码及数字运算验证码
Jul 30 PHP
深入理解PHP内核(二)之SAPI探究
Nov 10 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
Yii CGridView用法实例详解
Jul 12 PHP
apache php mysql开发环境安装教程
Jul 28 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
Aug 28 PHP
php使用preg_match()函数验证ip地址的方法
Jan 07 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
thinkphp5框架API token身份验证功能示例
May 21 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备份MYSQL数据的多种方法
2014/01/15 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
smarty中英文多编码字符截取乱码问题解决方法
2014/10/28 PHP
PHP函数积累总结
2019/03/19 PHP
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
为什么Node.js会这么火呢?Node.js流行的原因
2014/12/01 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
python中map()与zip()操作方法
2016/02/27 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
Python实现京东抢秒杀功能
2021/01/25 Python
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
介绍一下gcc特性
2015/10/31 面试题
争先创优个人总结
2015/03/04 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
pycharm debug 断点调试心得分享
2021/04/16 Python
python实现A*寻路算法
2021/06/13 Python