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 相关文章推荐
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
PHP 字符串分割和比较
Oct 06 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
Jun 28 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
如何实现php图片等比例缩放
Jul 28 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
Oct 13 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
实例分析基于PHP微信网页获取用户信息
Nov 24 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
Apr 04 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/10/09 PHP
php 动态多文件上传
2009/01/18 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
js正确获取元素样式详解
2009/08/07 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
详解Node.js中path模块的resolve()和join()方法的区别
2018/10/29 Javascript
vue实现评论列表功能
2019/10/25 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
Django异步任务之Celery的基本使用
2019/03/23 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
Python基于gevent实现文件字符串查找器
2020/08/11 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
html5时钟实现代码
2010/10/22 HTML / CSS
全球最大最受欢迎的旅游社区:Tripadvisor
2017/11/03 全球购物
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
创业融资计划书
2014/04/25 职场文书
学校2014年度工作总结
2014/12/06 职场文书
详解Laravel制作API接口
2021/05/31 PHP
实例详解Python的进程,线程和协程
2022/03/13 Python
python解析json数据
2022/04/29 Python