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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
基于文本的留言簿
Oct 09 PHP
PHP中,文件上传
Dec 06 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
php smarty模版引擎中的缓存应用
Dec 11 PHP
php去除重复字的实现代码
Sep 16 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
php中使用__autoload()自动加载未定义类的实现代码
Feb 06 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
深入解析php中的foreach函数
Aug 31 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
截获网站title标签之家内容的例子
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
php图片上传类 附调用方法
2016/05/15 PHP
PHP简单日历实现方法
2016/07/20 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
php格式文件打开的四种方法
2018/02/24 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
js自定义回调函数
2015/12/13 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
JavaScript中Array的实用操作技巧分享
2016/09/11 Javascript
JavaScript实现重力下落与弹性效果的方法分析
2017/12/20 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
Python魔法方法详解
2019/02/13 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
Python3操作读写CSV文件使用包过程解析
2020/04/10 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
人力资源行政经理自我评价
2013/10/23 职场文书
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
SpringBoot整合Mybatis Generator自动生成代码
2021/08/23 Java/Android
如何优化vue打包文件过大
2022/04/13 Vue.js
SQL解决未能删除约束问题drop constraint
2022/05/30 SQL Server