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实现多服务器共享SESSION数据的方法
Mar 16 PHP
php 数组二分法查找函数代码
Feb 16 PHP
php另类上传图片的方法(PHP用Socket上传图片)
Oct 30 PHP
php动态生成函数示例
Mar 21 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
php实例分享之二维数组排序
May 15 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
Dec 25 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
php接口隔离原则实例分析
Nov 11 PHP
在 Laravel 6 中缓存数据库查询结果的方法
Dec 11 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获取网站域名和地址的代码
2008/08/17 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
php URL验证正则表达式
2011/07/19 PHP
php中{}大括号是什么意思
2013/12/01 PHP
Laravel下生成验证码的类
2017/11/15 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
JS获取时间的方法
2015/01/21 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
2019/10/12 jQuery
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
python检测是文件还是目录的方法
2015/07/03 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
pandas.cut具体使用总结
2019/06/24 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
Python中包的用法及安装
2020/02/11 Python
Python获取android设备cpu和内存占用情况
2020/11/15 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
竞选演讲稿范文
2013/12/28 职场文书
海南地接欢迎词
2014/01/14 职场文书
会员活动策划方案
2014/08/19 职场文书
停车场管理协议书范本
2014/10/08 职场文书
实习单位证明范例
2014/11/17 职场文书
幼师个人总结范文
2015/02/28 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
python 学习GCN图卷积神经网络
2022/05/11 Python