私は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フィドルのセットアップを持っています:http: //phpfiddle.org/main/code/i4g-mdu私は遊んでいます。現在の形式では、単語をカテゴリに分類できますが、各カテゴリが一致する回数をカウントする方法がわかりません。追加のループや数えるのが簡単なものが必要なように感じますが、どこにあるのか正確にはわかりません。アドバイスをいただければ幸いです。前もって感謝します。