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批量缩放图片的代码[ini参数控制]
Feb 11 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
Laravel 默认邮箱登录改成用户名登录的实现方法
Aug 12 PHP
phpfpm的作用和用法
Oct 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
生成静态页面的PHP类
2006/11/25 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
Javascript中的delete介绍
2012/09/02 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
node.js express中app.param的用法详解
2017/07/16 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
详细讲解Python中的文件I/O操作
2015/05/24 Python
关于python的list相关知识(推荐)
2017/08/30 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
Python学生信息管理系统修改版
2018/03/13 Python
Python requests库用法实例详解
2018/08/14 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
办公室主任职责范本
2014/03/07 职场文书
暑期学习心得体会
2014/09/02 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
交通安全月活动总结
2015/05/08 职场文书
告诉你一个秘密:富人致富的五大优点
2019/07/11 职场文书
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL