• 技术文章 >后端开发 >php教程

    php查询相似度最高的字符串的方法_php技巧

    2016-05-16 20:21:28原创452
    本文实例讲述了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程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP判断网络文件是否存在的方法_php技巧 下一篇:php实现过滤UBB代码的类_php技巧
    Web大前端开发直播班

    相关文章推荐

    • PhpMyAdmin中无法导入sql文件的解决办法_PHP教程• PHP 页面跳转到另一个页面的多种方法方法总结_PHP教程• 利用PHP和AJAX创建RSS聚合器的代码_PHP教程• 挑战最棒的留言本的源码(三)_PHP教程• 打造计数器DIY三步曲(上)_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网