Heim > php教程 > PHP源码 > Hauptteil

查询相似度最高的字符串

PHP中文网
Freigeben: 2016-05-25 17:12:35
Original
1651 Leute haben es durchsucht

根据传入的字符串和数组,返回数组中相似度最高的字符串

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;
	}
Nach dem Login kopieren

2. [代码]代码示例

// 根据传入的州名(可能客户有输错),返回相似度最高的州名称
$united_state_list = array(&#39;AL&#39;=>"Alabama",&#39;AK&#39;=>"Alaska",&#39;AZ&#39;=>"Arizona",&#39;AR&#39;=>"Arkansas",&#39;CA&#39;=>"California",&#39;CO&#39;=>"Colorado",&#39;CT&#39;=>"Connecticut",&#39;DE&#39;=>"Delaware",&#39;DC&#39;=>"District Of Columbia",&#39;FL&#39;=>"Florida",&#39;GA&#39;=>"Georgia",&#39;HI&#39;=>"Hawaii",&#39;ID&#39;=>"Idaho",&#39;IL&#39;=>"Illinois",&#39;IN&#39;=>"Indiana",&#39;IA&#39;=>"Iowa",&#39;KS&#39;=>"Kansas",&#39;KY&#39;=>"Kentucky",&#39;LA&#39;=>"Louisiana",&#39;ME&#39;=>"Maine",&#39;MD&#39;=>"Maryland",&#39;MA&#39;=>"Massachusetts",&#39;MI&#39;=>"Michigan",&#39;MN&#39;=>"Minnesota",&#39;MS&#39;=>"Mississippi",&#39;MO&#39;=>"Missouri",&#39;MT&#39;=>"Montana",&#39;NE&#39;=>"Nebraska",&#39;NV&#39;=>"Nevada",&#39;NH&#39;=>"New Hampshire",&#39;NJ&#39;=>"New Jersey",&#39;NM&#39;=>"New Mexico",&#39;NY&#39;=>"New York",&#39;NC&#39;=>"North Carolina",&#39;ND&#39;=>"North Dakota",&#39;OH&#39;=>"Ohio",&#39;OK&#39;=>"Oklahoma",&#39;OR&#39;=>"Oregon",&#39;PA&#39;=>"Pennsylvania",&#39;RI&#39;=>"Rhode Island",&#39;SC&#39;=>"South Carolina",&#39;SD&#39;=>"South Dakota",&#39;TN&#39;=>"Tennessee",&#39;TX&#39;=>"Texas",&#39;UT&#39;=>"Utah",&#39;VT&#39;=>"Vermont",&#39;VA&#39;=>"Virginia",&#39;WA&#39;=>"Washington",&#39;WV&#39;=>"West Virginia",&#39;WI&#39;=>"Wisconsin",&#39;WY&#39;=>"Wyoming");


$input_state = &#39;Wiscsin&#39;;
$state = closest_word($input_state ,array_values($united_state_list));
echo $state;
Nach dem Login kopieren

 以上就是查询相似度最高的字符串的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!