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代码优化及php相关问题总结
Oct 09 PHP
PHP实现的功能是显示8条基色色带
Oct 09 PHP
建立文件交换功能的脚本(一)
Oct 09 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
Nov 14 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
php操作MongoDB类实例
Jun 17 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
Jul 02 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
PHP闭包函数详解
Feb 13 PHP
laravel框架查询数据集转为数组的两种方法
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中把stdClass Object转array的几个方法
2014/05/08 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
JavaScript实现url参数转成json形式
2016/09/25 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
javascript编写简易计算器
2017/05/06 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python中MySQLdb模块用法实例
2014/11/10 Python
简单了解python模块概念
2018/01/11 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
pandas系列之DataFrame 行列数据筛选实例
2018/04/12 Python
python3去掉string中的标点符号方法
2019/01/22 Python
Django 通过JS实现ajax过程详解
2019/07/30 Python
tensorflow使用指定gpu的方法
2020/02/04 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
中学生在校期间的自我评价分享
2013/11/13 职场文书
运动会领导邀请函
2014/01/10 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
大学生先进事迹材料
2014/02/16 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
人代会标语
2014/06/30 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
食品仓管员岗位职责
2015/04/01 职场文书
钱学森观后感
2015/06/04 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
MySQL中你可能忽略的COLLATION实例详解
2021/05/12 MySQL
用Python创建简易网站图文教程
2021/06/11 Python
讲解Python实例练习逆序输出字符串
2022/05/06 Python