0

我有一个表格,我可以输入两个单词,然后比较 levenshtein 分数,效果很好。

我希望能够将 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");
?>
4

1 回答 1

0

你会使用一个foreach循环(一个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);
}

?>
于 2012-10-04T20:18:27.203 回答