本文介绍下,php实现云标签的一个简单例子,老外写的,很简炼。有需要的朋友,可以参考下人家的写法。
php 云标签的例子,代码如下:
- <!--?php
- /**
- * @PHP 云标签
- * @param $tags 标签列表
- * @edit:bbs.it-home.org
- */
- function printTagCloud($tags) {
- // $tags is the array
-
- arsort($tags);
-
- $max_size = 32; // max font size in pixels
- $min_size = 12; // min font size in pixels
-
- // largest and smallest array values
- $max_qty = max(array_values($tags));
- $min_qty = min(array_values($tags));
-
- // find the range of values
- $spread = $max_qty - $min_qty;
- if ($spread == 0) { // we don't want to divide by zero
- $spread = 1;
- }
-
- // set the font-size increment
- $step = ($max_size - $min_size) / ($spread);
-
- // loop through the tag array
- foreach ($tags as $key =--> $value) {
- // calculate font-size
- // find the $value in excess of $min_qty
- // multiply by the font-size increment ($size)
- // and add the $min_size set above
- $size = round($min_size + (($value - $min_qty) * $step));
-
- echo '' . $key . ' ';
- }
- }
- //调用示例
- $tags = array('weddings' => 32, 'birthdays' => 41, 'landscapes' => 62, 'ham' => 51, 'chicken' => 23, 'food' => 91, 'turkey' => 47,
- 'windows' => 82, 'apple' => 27);
- printTagCloud($tags);
- ?>
|