id | words | other
1 | lorem ipsum | dsf
2 | Lorem Ipsum is simply dummy | sads
现在给出这个表我希望在php中进行查询,这将在整个单词列中给出频率计数
预期的输出应为 -
loreum-2
ipsum-2
is-1
simply-1
dummy-1
P.s.-我正在传递数据 使用 -
$array = array($word);
print_r(array_count_values($array));
它给了我输出
lorem ipsum -1
Lorem Ipsum is simply dummy-1
请帮助我,我对此非常陌生。
答案 0 :(得分:1)
$words = explode(' ',$word);
$result = array();
foreach($words as $w){
$result[$w]++;
}
print_r($result);
考虑到你将不得不迭代数据库结果的每一行来检查每个单词。上述算法仅适用于一个短语或一行,可根据您的需要进行修改。我不知道你是否必须巩固所有的单词,或者你必须得到每一行的每个单词的计数。
答案 1 :(得分:1)
这是我要做的事情的要点......我只想解释一下这个想法,而不是直接提供代码。
目标是创建一个数组,比如N,它有一系列键,每个键对应一个单词,每个键的值对应于该键(单词)的出现次数。
对于数据库表中的每一行,
使用空格作为分隔符来分解单词列以创建数组X。
对于X中的每个单词,
检查密钥是否存在于N中,如果密钥不存在则创建密钥并将其值设置为1,否则将其当前值增加1
现在你已经完全填充了你想要的N.