我的网站上有很多不同标签的文章。目前我只对这 4 个标签感兴趣:
Dog
Camel
Bear
Cat
如果一篇文章有任何这些标签,我想显示它。如果一篇文章有 2 个或更多这些标签,我希望返回更多位于顶部的标签。例如,如果一篇文章同时具有 Bear 和 Cat 标签,则应返回 Bear。
到目前为止我的代码:
function determine_tag($tags) {
$weights = array(
'Dog',
'Camel',
'Bear',
'Cat'
);
$matches = array();
foreach($tags as $tag) {
if(in_array($tag, $weights)) {
$matches[] = $tag;
}
}
var_dump($matches); // returns array (Cat, Dog)
}
$tags = array('Cat', 'Floating', 'Dog', 'lol', 'Article');
echo determine_tag($tags);
我认为它的效率不是很高,而且它只返回匹配的标签,它不会只返回权重最高的标签。怎么做?