数组相交不显示正确答案


Array intersect not displaying right answers

我正在使用PHP,我已经从数据库中填充了2000个单词的数组。现在我使用此数组与用户在文本区域中输入的文本进行比较以查找常用单词。但问题是,经过比较,即使用户输入的单词存在于 2000 个单词数组中,也只匹配了 2 个 3 个单词。

例如,用户输入:"你好!今天是星期天,天气温暖。
我的填充数组包含:[hello,today,sunday,warm] .
它应该显示这 4 个单词,但它只显示"你好"和"温暖"。

这是代码:

$positive = array();
$sql1 = "SELECT * FROM positive";
$result1 = mysqli_query($link, $sql1);
while($row1 = mysqli_fetch_array($result1)){
    $positive[] = $row1['pword'];
}
$text = $_POST['text'];
$array = explode( ' ', $text );
$result_parray = array_intersect($positive, $array);
print_r($result_parray);

谁能告诉我为什么不显示其他单词?
我真的很困惑...提前感谢!

这可能是一个问题,因为单词不同

尝试使用

$result_parray = array_intersect(array_map('strtolower', $positive), array_map('strtolower', $array));

但这不会保留你的话的原始大小写

像这样的事情怎么样:

    $result_parray = array_uintersect($positive, $array, "strcasecmp");