我对 PHP 很陌生,所以请耐心等待。我正在尝试遍历文本字符串中的单词,查找特定单词,对它们进行分类,然后计算每个单词类别被击中的次数。我能够完成简单的部分,但我在计算每个类别匹配的次数时遇到问题。这是接受我的字符串的主要函数:
public function matchThemeTest($query){
$marriageNum = 0;
$criminalNum = 0;
$contactNum = 0;
$keywords = array(
'background'=> array('category'=>'criminal'),
'marriage' => array('category'=>'marriage'),
'criminal' => array('category'=>'criminal'),
'arrest' => array('category'=>'criminal'),
'divorce' => array('category'=>'marriage'),
'person' => array('category'=>'contact'),
'contact' => array('category'=>'contact')
);
foreach (preg_split("/\s/", $query) as $word)
{
if (isset($keywords[$word]))
{
echo $keywords[$word]['category'];
if ($keywords[$word]['category'] == 'marriage') {
$marriageNum++;
}
echo $marriageNum;
}
}
//return reset($matches);
}
我在这里有一个 php fiddle 设置:http: //phpfiddle.org/main/code/i4g-mdu我一直在玩。以目前的形式,我可以将单词分类,但我不确定如何计算每个类别匹配的次数。我觉得我需要一个额外的循环或一些简单的计算,但我不确定在哪里。任何意见是极大的赞赏。提前致谢。