PHP的similar_text()和in_array()不能正常工作

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP的similar_text()和in_array()不能正常工作脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用@R_777_146@()和in_array()在 PHP中创建一个简单的拼写检查和建议程序.
我有一个文本文件dictionary.txt,这是英语中的大多数单词.

首先,我将文本文件中的所有单词分别放在一个新行中.然后在用户输入和提交时,我使用in_array()检查他们输入的单词是否在数组中.如果是,那么他们拼写正确.

如果不是,那么我使用similar_text()来查找数组中接近拼写错误的单词的单词.

我遇到了两个我无法解决的问题,我相信我正在根据PHP文档正确使用in_array()和similar_text().

一个问题是,当用户键入并提交文本文件中的单词并且也应该在数组中时,else会触发并且不应该发生.因为它在文本文件中,所以它应该在数组中,并且in_array()应该评估为true.

第二个问题是我得到一个错误,即我没有定义通过similar_text()存储两个单词之间相似性百分比的变量.
我正在使用它,similar_text(),就像在文档注释示例中一样;事实上,我在每次比较之前重置和重新定义$PErcentageSimilarITy.为什么我会收到未定义的错误

这是我的代码

<?PHP
function addTo($line){
    return $line;
}
$words = array_map('addTo',file('dictionary.txt'));
if(isset($_GET['checkSpelling'])){
    $input = (string)$_GET['checkSpelling'];
    $suggestions = array();
    if(in_array($input,$words)){
        echo "you spelled the word right!";
    }
    else{
        foreach($words as $word){
            $percentageSimilarity=0.0;
            similar_text($input,$word,$percentageSimilarity);
            if($percentageSimilarity>=95){
                 array_push($suggestions,$word);
            }
         }
         echo "Looks like you spelled that wrong. Here are some suggestions: \n";
         foreach($suggestions as $suggestion){
             echo $suggestion;
         }
     }
  }
  ?>
  <!Doctype HTML>
 <html lang="en">
     <head>
          <Meta charset="utf-8" />
         <title>Spell Check</title>
     </head>
     <body>
         <form method="get">
             <input type="text" name="checkSpelling" autocomplete="off" autofocus />
         </form>
     </body>
 </html>

解决方法

将您的添加改为

function addTo($line){
    return strtolower(trim($line));
}

并将您的输入更改为

$input = strtolower(trim($_GET['checkSpelling']));

文件命令有一个令人讨厌的习惯,就是留下尾随的换行符,所以你可能根本不匹配…修剪应该处理它.其他变化只是为了使它不区分大小写.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP的similar_text()和in_array()不能正常工作全部内容,希望文章能够帮你解决PHP的similar_text()和in_array()不能正常工作所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。