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 06 PHP
mysql 全文搜索 技巧
Apr 27 PHP
php部分常见问题总结
Mar 27 PHP
PHP操作XML作为数据库的类
Dec 19 PHP
PHP如何抛出异常处理错误
Mar 02 PHP
php 注释规范
Mar 29 PHP
PHP file_get_contents设置超时处理方法
Sep 30 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
MongoDB在PHP中的常用操作小结
Feb 20 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
Aug 05 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 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/12/05 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
PHP Memcached应用实现代码
2010/02/08 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
js的with语句使用方法
2007/09/21 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
2013/04/02 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
浅析Python中的for 循环
2016/06/09 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
人工神经网络算法知识点总结
2019/06/11 Python
python获取Pandas列名的几种方法
2019/08/07 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
乡镇干部先进事迹材料
2014/02/03 职场文书
公司寄语大全
2014/04/10 职场文书
安全标语口号
2014/06/09 职场文书
教师演讲稿开场白
2014/08/25 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android
python在package下继续嵌套一个package
2022/04/14 Python