数组相交不显示正确的答案

时间:2016-02-14 10:48:14

标签: php arrays

我正在使用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);

请有人告诉我为什么没有显示其他字样?
我真的很困惑......提前谢谢!

2 个答案:

答案 0 :(得分:0)

由于单词不同

的情况,这可能是一个问题

尝试使用

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

但这不会保留你单词的原始案例

答案 1 :(得分:0)

如下:

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