手机
当前位置:查字典教程网 >编程开发 >php教程 >php查询相似度最高的字符串的方法
php查询相似度最高的字符串的方法
摘要:本文实例讲述了php查询相似度最高的字符串的方法。分享给大家供大家参考。具体如下:根据传入的字符串和数组,返回数组中相似度最高的字符串1.P...

本文实例讲述了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对象和数组相互转换的方法

php计算整个目录大小的方法

php 字母大小写转换的方法

PHP生成指定随机字符串的简单实现方法

php将字符串随机分割成不同长度数组的方法

php简单实现多字节字符串翻转的方法

php使用数组填充下拉列表框的方法

php函数重载的替代方法

php统计数组元素个数的方法

精品推荐
分类导航