帮助算法确定PHP中字符串中的短语出现

1 php

我有一系列短语(最多2个单词)

$words = array('barack obama', 'chicago', 'united states');
Run Code Online (Sandbox Code Playgroud)

然后我有一个像这样的字符串:

$sentence = "Barack Obama is from Chicago. Barack Obama's favorite food it pizza.";
Run Code Online (Sandbox Code Playgroud)

我想找到/创建一个有效的算法,它将返回字符串$ sentence中数组$ words中单词的出现次数.在这种情况下,它将是:

'barack obama' => 2
'chicago' => 0
Run Code Online (Sandbox Code Playgroud)

我怎么能建造这个?

Ofr*_*viv 6

阅读有关substr_count的文档.在超过$ words的循环中使用它.

 $res = array();
 foreach($words as $word){
    $res[$word] = substr_count($sentence,$word);
 }
Run Code Online (Sandbox Code Playgroud)