我想问一下如何计算包含单词的变量数量。
例如,我有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
有谁知道怎么做? 如果有这个解决方案的示例代码,我真的很感激
答案 0 :(得分:4)
$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
答案 1 :(得分:4)
将您的变量字符串分解为数组,然后只计算条目。 我认为最简单的方法是:
$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