私のサイトには、さまざまなタグを持つ記事があります。現時点では、次の 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);
あまり効率的ではないと思います。さらに、一致したタグを返すだけで、重みが最も高いものだけを返すわけではありません。どうやってするか?