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网页显示各种语法错误
Sep 23 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
Jan 05 PHP
PHP和MySql中32位和64位的整形范围是多少
Feb 18 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
Mar 07 PHP
CI框架整合smarty步骤详解
May 19 PHP
Thinkphp批量更新数据的方法汇总
Jun 29 PHP
php foreach如何跳出两层循环(详解)
Nov 05 PHP
PHP实现json_decode不转义中文的方法
May 20 PHP
php 可变函数使用小结
Jun 12 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
微信支付开发订单查询实例
2016/07/12 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
python实现从ftp服务器下载文件的方法
2015/04/30 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
python使用建议与技巧分享(二)
2020/08/17 Python
python给list排序的简单方法
2020/12/10 Python
python接口自动化框架实战
2020/12/23 Python
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
家长对学生的评语
2014/04/18 职场文书
安全保证书范文
2014/04/29 职场文书
公司离职证明标准格式
2014/11/18 职场文书
小浪底导游词
2015/02/12 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
电影雷锋观后感
2015/06/10 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏