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 分页类实现代码
Dec 03 PHP
php printf输出格式使用说明
Dec 05 PHP
php循环检测目录是否存在并创建(循环创建目录)
Jan 06 PHP
PHP二维数组的去重问题解析
Jul 17 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
Jun 18 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
php定时执行任务设置详解
Feb 06 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
Sep 29 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 PHP
解决php扩展安装不生效问题
Oct 25 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
浅谈php7的重大新特性
2015/10/23 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
Thinkphp5.0自动生成模块及目录的方法详解
2017/04/17 PHP
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
一行命令搞定node.js 版本升级
2014/07/20 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
利用Js的console对象,在控制台打印调式信息测试Js的实现
2016/11/26 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
微信小程序 如何引入外部字体库iconfont的图标
2018/01/31 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python Matplotlib库入门指南
2015/05/18 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
学前教育毕业生自荐信
2013/10/29 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
广告业务员岗位职责
2015/02/13 职场文书
趣味运动会赞词
2015/07/22 职场文书
初中地理教学反思
2016/02/19 职场文书
2016年教代会开幕词
2016/03/04 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android