php 云标签的简单范例

发布时间:2019-08-14编辑:脚本学堂
本文介绍下,php实现云标签的一个简单例子,老外写的,很简炼。有需要的朋友,可以参考下人家的写法。

php 云标签的例子,代码如下:

<?php
/**
* @php 云标签
* @param $tags 标签列表
* @edit:www.jb200.com
*/
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 '<a href="#" style="font-size: ' . $size . 'px" title="' . $value . ' things tagged with ' . $key . '">' . $key . '</a> ';
  }
}

//调用示例
$tags = array('weddings' => 32, 'birthdays' => 41, 'landscapes' => 62, 'ham' => 51, 'chicken' => 23, 'food' => 91, 'turkey' => 47,
 'windows' => 82, 'apple' => 27);
printTagCloud($tags);
?>