我正在使用PHP,我从数据库填充了2000个单词的数组。现在我使用此数组与用户在textarea中输入的文本进行比较以查找常用单词。但问题是在比较后,只有2个单词匹配,即使用户输入的单词存在于2000个单词数组中。
E.g。用户输入:“你好!今天是星期天,也是温暖的一天。“
我填充的数组包含:[hello,today,sunday,warm]
。
它应该显示这4个单词,但它只显示"你好"和#34;温暖"。
以下是代码:
$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);
请有人告诉我为什么没有显示其他字样?
我真的很困惑......提前谢谢!
答案 0 :(得分:0)
由于单词不同
的情况,这可能是一个问题尝试使用
$result_parray = array_intersect(array_map('strtolower', $positive), array_map('strtolower', $array));
但这不会保留你单词的原始案例
答案 1 :(得分:0)
如下:
$result_parray = array_uintersect($positive, $array, "strcasecmp");