我想问一下如何计算包含一个单词的变量个数
例如,我有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