频率使用php统计表中单个列中的所有单词

频率使用php统计表中单个列中的所有单词,php,mysql,Php,Mysql,现在给出这个表,我需要一个php查询,它将给出整个单词列中的频率计数 这方面的预期产出应该是- id | words | other 1 | lorem ipsum | dsf 2 | Lorem Ipsum is simply dummy | sads 顺便说一下,我正在传递整个数据 使用- 它给了我输出 $array = array($word); print_r(array_co

现在给出这个表,我需要一个php查询,它将给出整个单词列中的频率计数

这方面的预期产出应该是-

id | words                            | other
1  | lorem ipsum                      | dsf
2  | Lorem Ipsum is simply dummy      | sads
顺便说一下,我正在传递整个数据 使用-

它给了我输出

$array = array($word);
print_r(array_count_values($array)); 
请帮帮我,我对这件事还不太熟悉

lorem ipsum -1
Lorem Ipsum is simply dummy-1

考虑到您必须迭代数据库结果的每一行来检查每个单词。以上算法仅适用于一个短语或一行,请根据需要进行修改。我不知道你是要合并所有的单词,还是要计算每行每个单词的数量。

这就是我要做的要点。。。我只是想解释一下这个想法,而不是直接给出代码

目标是创建一个数组,比如N,它有一系列键,每个键对应于一个单词,每个键的值对应于该键(单词)的出现次数

对于数据库表中的每一行

使用空格作为分隔符分解单词列以创建数组X

对于X中的每个单词

检查N中是否存在该键,如果该键不存在,则创建该键并将其值设置为1,否则将其当前值增加1


现在您已经完全填充了您想要的内容

请显示为进行(错误)计数而编写的代码。它在上面“$array=array($word);print_r(array_count_values($array));”
lorem ipsum -1
Lorem Ipsum is simply dummy-1
$words = explode(' ',$word);
$result = array();
foreach($words as $w){
  $result[$w]++;
}
print_r($result);