2012-10-04 35 views
0

我有一個表單,我可以輸入兩個單詞然後比較levenshtein分數,工作正常。如何比較1個單詞與許多輸出levenstien分數的列表

我希望能夠將1個單詞與由「,」分隔的單詞串進行比較。整件事都需要回聲。這是我到目前爲止有:

Levenstien for <b><?php echo $_POST["source"]; ?></b> and <b><?php echo $_POST["target"]; ?></b>: 

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

echo levenshtein("$string5","$array6"); 
?> 

回答

0

You'd use a foreach loop(一for循環將被罰款太)。嘗試:

Levenstien for <b><?php echo $_POST["source"]; ?></b> and <b><?php echo $_POST["target"]; ?></b>: 

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

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

?> 

要輸出使得通過分數,使用此:

Levenstien for <b><?php echo $_POST["source"]; ?></b> and <b><?php echo $_POST["target"]; ?></b>: 

<?php 
$string5 = $_POST["source"]; 
$string6 = $_POST["target"]; 
$array6 = array_map('trim', explode(',',$string6)); 
$doop = array(); 

foreach ($array6 as $derp) 
{ 
    doop[$derp] = levenshtein($string5, $derp); 
} 

arsort($doop); // sorts highest element first 

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

?> 
+0

它是因爲我已經用PHP編寫的東西很長一段時間。我很確定這在語法上是正確的。 – Wug

+0

這絕對是驚人的!我可以從小到大的levenstien分數輸出該列表嗎? – user1721230

+0

@ user1721230:編輯爲按分數排序。 – Wug

相關問題