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 一个页面执行时间类代码
Mar 05 PHP
php判断ip黑名单程序代码实例
Feb 24 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 PHP
PHP实现的增强性mhash函数
May 27 PHP
PHP实现补齐关闭的HTML标签
Mar 22 PHP
php使用正则验证中文
Apr 06 PHP
PHP 的比较运算与逻辑运算详解
May 12 PHP
PHP中Array相关函数简介
Jul 03 PHP
yii使用bootstrap分页样式的实例
Jan 17 PHP
php面向对象重点知识分享
Sep 27 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
浅谈node中的cluster集群
2018/06/02 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
详解Vue实战指南之依赖注入(provide/inject)
2018/11/13 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 排列组合之itertools
2013/03/20 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
python的依赖管理的实现
2019/05/14 Python
python 实现return返回多个值
2019/11/19 Python
Python timer定时器两种常用方法解析
2020/01/20 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
美容院营销方案
2014/03/05 职场文书
求职自荐信的格式
2014/04/07 职场文书
环保项目建议书
2014/08/26 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
八年级英语教学反思
2016/02/15 职场文书
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL