Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组不显示正确答案_Php_Arrays - Fatal编程技术网

Php 数组不显示正确答案

Php 数组不显示正确答案,php,arrays,Php,Arrays,我正在使用PHP,我已经从数据库中填充了2000个单词的数组。现在,我使用这个数组与用户在textarea中输入的文本进行比较,以找到常用词。但问题是,在比较之后,即使用户输入的单词出现在2000单词数组中,也只匹配了23个单词 例如,用户输入:“你好!今天是周日,天气很暖和。” 我的填充数组包含:[你好,今天,星期天,温暖] 它应该显示这4个单词,但它只显示“你好”和“温暖” 代码如下: $positive = array(); $sql1 = "SELECT * FROM positive

我正在使用PHP,我已经从数据库中填充了2000个单词的数组。现在,我使用这个数组与用户在textarea中输入的文本进行比较,以找到常用词。但问题是,在比较之后,即使用户输入的单词出现在2000单词数组中,也只匹配了23个单词

例如,用户输入:“你好!今天是周日,天气很暖和。”
我的填充数组包含:
[你好,今天,星期天,温暖]

它应该显示这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");

用户输入值和数据库值都是大小写混合的吗?它们都是小写的,来自您的示例
Hello也不应该是结果的一部分,因为您的数组(Hello,Today,Sunday,Warm)没有
Hello
和“Hello”不是小写。对数组$positive和$array u都使用print\r,数组u将得到相同的结果,但仍然存在相同的问题。数组和用户输入的数组中的单词已经是小写的。这对我来说真的很困惑me@Ahmadßutt请向我们显示:
var_dump($positive)的输出
变量转储($array)使用问题中的示例数据。@Rizier123我得到了问题,它在数据库中。如果有任何问题,我将首先解决它。我将告诉您相同的问题,用户输入和数组字是小写的