substr_count有类似的功能吗?

Is there a similar function to substr_count?

我使用 substr_count 函数来计算一个单词在字符串中出现的次数。例如,给定句子,

saya akan menyalakan mobil di depan garasi

我要统计这句话中的akanmenyalakan

我使用了函数substr_count,但结果很奇怪。

我看到的结果是

"akan" = 2 word
"menyalakan" = 1 word

我该如何解决这个问题?

尝试str_word_count()

 function countWord($str,$key) { 
   return array_count_values(str_word_count($str, 1))[$key];
 } 
 $str = "saya akan menyalakan mobil di depan garasi";

 echo countWords( $str , 'akan' );          // Output 1
 echo countWords( $str , 'menyalakan' );    // Output 1

如果你想获得关于字符串中使用的单词的信息,你可以使用str_word_count and after that you can use array_count_values for count来计算相似的单词。

如果要搜索所有不区分大小写的单词,请使用 array_map($array, 'strtolower');

处理数组

示例:

$all_words = str_word_count($str, 1);
$all_words = array_map($all_words, 'strtolower'); // optional
$count = array_count_values($all_words);

echo $count["akan"]; // 2;
echo $count["menyalakan"]; // 3;