Вычисление веса тега с использованием логарифма
По мотивам http://habrahabr.ru/blogs/webdev/30543/ себе на заметку.
Вычисляем вес тега в облаке с использованием логарифма. Зачем?
Здесь всего лишь кусок кода. Аргументы и рассуждения по ссылке выше.
PHP:
-
class Tag extends BaseTag
-
{
-
/**
-
*
-
* @param array $options массив с максимальным (max), минимальным (min) значением
-
* и колчиеством градаций (levels)
-
* @return int [1,levels]
-
*/
-
{
-
{
-
return 1;
-
}
-
else {
-
1
-
* ($options['levels'] - 1)
-
/ ($options['max'] - $options['min'] )
-
);
-
}
-
}
-
}
Спасибо за интересный способ!
К сожалению, если вес очень сильно разнится, то получается все равно не очень красиво… Если минимальный вес – 1, а максимальный 80000, то облако тегов выглядит немного некрасиво, каким бы не был установлен параметр levels. Решить проблему удалось, но все равно как-то не так)))
$size = round(1 + (log($tag_amount + 1) – $min) * ($levels – 1) / ($max – $min)) * 38;
$tag_content .= “$tag “;
levels установлен в 8. Смотрится неплохо)
Еще раз спасибо)
Суман!
Жестко ступил, можно ведь полученные значения использовать в названии класса. Приношу свои извинения, способ просто чудесный!
Указывайте ссылки с http а не ttp )))
гм. и правда.
спасибо