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 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
php桌面中心(三) 修改数据库
Mar 11 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
PHP eval函数使用介绍
Dec 08 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
Nov 03 PHP
php 获取xml接口数据的处理方法
May 31 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
PHP数组对象与Json转换操作实例分析
Oct 22 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 PHP
PHP7 弃用功能
Mar 09 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 HTML代码串截取代码
2008/12/29 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
2016/12/28 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
小程序转发探索示例
2019/02/19 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
python中pass语句用法实例分析
2015/04/30 Python
RC4文件加密的python实现方法
2015/06/30 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
2020/02/17 Python
pytorch masked_fill报错的解决
2020/02/18 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
个人求职信范例
2014/01/29 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android