0
我想寫一個腳本,可以給我的值不準確,但接近用戶輸入的值。例如:它就像字符串比較。比較用戶查詢的字符。需要編寫一個php腳本,將顯示值接近用戶輸入的值
數據存儲在SQL中。例如:
$string1="Where were you";
$string2="where ere youuu";
$string1
是存儲在數據庫中的值。
$string 2
是用戶值。
它應該返回的輸出是這樣的:
where were you
我有這一點,但它不是爲我工作的罰款:
$a = "hello where are you";
$b = "hell re r u"; $str = "";
for ($i=0; $i < strlen($a); $i++) {
for ($j=0; $j < strlen($b); $j++) {
if ($a[$i]==$b[$j]) {
$str.=$a[$i];
break;
}
}
}
echo $str;
它不會放棄希望的結果。
有各種各樣的方法來此,如各種字符串比較算法來確定兩個字符串之間的「距離」,或如「同音」使用的東西( https://en.wikipedia.org/wiki/Soundex)。 – David
你如何定義「準確的結果」?這不是一件微不足道的事情。 – kabanus
我認爲你想要的是一個非常嚴肅的搜索邏輯,當然這不會發生在兩個「for」循環中。嘗試在Google上搜索某種全文搜索實現。給我們更多的細節。如果數據在SQL服務器上,請嘗試將數據塊分成塊並執行「LIKE」 – codtex