2012-10-04 3 views
-1

1 단어를 여러 단어와 비교하는 형태로 levenshtein 점수 목록을 출력합니다. 그들은 순서대로 나열 그래서 그 점수를 얻을 수있는 방법, 작은 levenshtein 점수 1 :리스트에있는 순서대로 Levenshtein 점수를 나열하십시오.

<?php 
$string5 = $_POST["singleword"]; 
$string6 = $_POST["manywords"]; 
$array6 = explode(', ',$string6); 

foreach ($array6 as $derp) 
{ 
    echo $string5, "/", $derp, ": ", levenshtein($string5, $derp), "<br>"; 
} 

?> 

같은 것 출력 목록 :

apple/mango: 5 
apple/peach: 5 
apple/toothpaste: 8 
apple/apes: 3 

내가 이렇게 할 것을 권장합니다

apple/apes: 3 
apple/mango: 5 
apple/peach: 5 
apple/toothpaste: 8 
+0

나는 그것이 arsort와 관련이 있다는 것을 알고 있지만 사용법을 알 수는 없다. – user1721230

답변

2
$string5 = $_POST["singleword"]; 
$string6 = $_POST["manywords"]; 

$words = array_flip(array_map('trim', explode(',', $string6))); 

foreach ($words as $key => $value) 
{ 
    $words[$key] = levenshtein($string5, $key); 
} 

asort($words); 

foreach ($words as $key => $value) 
{ 
    echo sprintf('%s/%s: %s<br />', $string5, $key, $value); 
} 
+0

아니, 그게 효과가 없다. onger 목록 – user1721230

+0

@ user1721230 : 웃기는, 나와 함께 작동 http://codepad.org/m6qBVEZ2. –

+0

그 wierd 그게 나를 위해 일하는 $ string5 = 'carrrot'; $ string5 = $ _POST [ "singleword"];와 분리됩니다. – user1721230