计算有多少变量可以计算一个单词(PHP)


Counting How Many variable that Count a word (PHP)

我想问一下如何计算包含一个单词的变量个数

例如,我有3个变量:
$var1 = "Alpha Beta Cupcake Doughnut";
$var2 = "Cupcake Doughnut Eclair Froyo";
$var3 = "Gingerbread Doughnut";

我想要的结果是这样的(" the word": "How times" - "variable(s)"):

Alpha : 1 - $var1(only 1 variable contain word Alpha)
Beta : 1 - $var1
Cupcake : 2 - $var1 and $var2 (2 variables contain word Cupcake)
Doughnut : 3 - $var1, $var2, and $var3(3 variables contain word doughnut)
Eclair : 1 - $var2
Froyo : 1 - $var2
Gingerbread : 1 - $var3

有人知道怎么做吗?如果能提供这个解决方案的示例代码,我将非常感谢

将变量字符串分解为数组,然后计数条目。我想最简单的方法是:

$arrayWithVariables = array_count_values(array_merge(
        explode(' ', $var1), 
        explode(' ', $var2), 
        explode(' ', $var3)
    ));

结果数组为:

array
  'Alpha' => int 1
  'Beta' => int 1
  'Cupcake' => int 2
  'Doughnut' => int 3
  'Eclair' => int 1
  'Froyo' => int 1
  'Gingerbread' => int 1
  • 将变量放入数组
   $variables = array();
    $variables[] = $var1;
    $variables[] = $var2;
    $variables[] = $var3;
  • 创建一个数组,保存每个单词的计数
$words = array();
  • 你数单词
foreach($variables as $variable)
{
  $wordsInVariable = explode(' ',$variable);
  foreach($wordsInVariable as $word)
  {
    if(isset($words[$word])
    {
       $words[$word] += 1;
    }else
    {
       $words[$word] = 1;
    }
  }
}
  • 打印结果
print_r($words) // or whatever