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 16 PHP
php 远程图片保存到本地的函数类
Dec 08 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
php利用iframe实现无刷新文件上传功能的代码
Sep 29 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
PHP精确计算功能示例
Nov 29 PHP
php 生成加密公钥加密私钥实例详解
Jun 16 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
PHP应用跨时区功能的实现方法
Mar 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
discuz安全提问算法
2007/06/06 PHP
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
PHP基础知识回顾
2012/08/16 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
详解webpack自定义loader初探
2018/08/29 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
详解Vue调用手机相机和相册以及上传
2019/05/05 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
Python中列表和元组的使用方法和区别详解
2020/12/30 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Python爬取破解无线网络wifi密码过程解析
2019/09/17 Python
Python tcp传输代码实例解析
2020/03/18 Python
python实现简单遗传算法
2020/09/18 Python
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
adidas马来西亚官网:adidas MY
2020/09/12 全球购物
《两只鸟蛋》教学反思
2014/02/10 职场文书
建筑投标担保书
2014/05/20 职场文书
专题组织生活会方案
2014/06/15 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书