如何以百分比计算数组匹配?

时间:2015-07-09 20:26:41

标签: php arrays match diff intersect

我想建立一个网站,用户可以通过食材找到食谱。如何以百分比形式检查数组与另一个数组的匹配程度?

更具体一点:

Pizza 1 contains cheese, tomato, ham, pineapple and beef.
Pizza 2 contains cheese, tomato, bacon, chili and salad
Pizza 3 indeholder tomato, salad and pineapple

如果我正在寻找含有奶酪和番茄的披萨,那么1和2匹配100%,而3匹配50%。 如果我正在寻找含有番茄的比萨饼,那么所有比萨都将100%匹配。 如果我正在寻找包含奶酪,番茄和火腿的披萨,那么披萨1将匹配100%,披萨2 66,67%和披萨3 33,33%。 这很容易做到。

但是,如果我正在寻找包含奶酪,西红柿,火腿,培根,牛肉和菠萝的比萨饼,那么在我的愿望清单中,这将比任何比萨饼都含有更多的成分。比萨1最匹配,比萨3匹配较少。但每个披萨的比例是多少?更重要的是:如何在php中编写代码?  array_intersect()?和array_diff()?一个组合?还有别的吗?

什么,如果变得更复杂:我想要一个包含奶酪,火腿和培根,但没有菠萝的披萨。我该怎么做?

我想,我有一些比萨饼阵列:

$pizza[0]=['cheese','tomato','ham','beef','pineapple'];
$pizza[1]=['cheese','tomato','bacon','chili','salad'];
$pizza[2]=['tomato','salad','pineapple'];

此外,我有$ included_wish和$ excluded_wish:

$included_wish=['cheese','ham','bacon'];
$excluded_wish=['pineapple'];

有人可以照亮我吗?

艾伯特

0 个答案:

没有答案