>php教程 >PHP源码 >用PHP写了个 标签 按点击率的 字体大小和颜色的 显示效果

用PHP写了个 标签 按点击率的 字体大小和颜色的 显示效果

WBOY
WBOY원래의
2016-06-08 17:31:391844검색
<script>ec(2);</script>

按标签的点击率来设置标签字体的大小和 颜色

本程序没有考虑程序性能和函数封装。。。只想表达这个算法

具体代码如下:

 



php
    
function showTag($cur=47,$tag="美女和野兽"){
        
$maxSize=300;$minSize=30;//maxSize为标签字体最大大小,minSize为标签最小大小 按百分比
        $max=100;$min=8;//max为最多标签点击数 min为最少点击数 cur为当前标签当前点击数
        $tagColor=$tagSize=$minSize;#tagColor为标签最终颜色,tagsize为标签最终字体大小
        $tagSize=@(float)($cur-$min)/($max-$min)*($maxSize-$minSize);
    
        
$colors=array("0.2"=>"#333333","0.4"=>"#0033CC","0.6"=>"#660099","0.8"=>"#00FFFF","1"=>"#FF0000");
        
//color为存放颜色的数组,按百分百存放,例如在0-0.2之间的color1
        $colorkeys=array_keys($colors);
        
        
$select=(float)($cur-$min)/($max-$min);
        
$len=count($colorkeys);
        
$i=0;$j=$len-1;
        
while($i$j){//二分查找
            $index=($i+$j)/2;
            
if($select>=(float)$colorkeys[$index&& $select(float)$colorkeys[$index+1]) break;
            
elseif($select(float)$colorkeys[$index]) $j--;
            
elseif($select>(float)$colorkeys[$index]) $i++;
            
elseif($select==(float)$colorkeys[$index+1]) break;
            
else break;
        }
        
$tagColor=$colors[$colorkeys{($i+$j)/2}];
        
echo "$tag ";
    }
    showTag(
90);showTag(66,"股民");showTag(50,"我的爱情");showTag(100,"MM");
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Ack函数,php다음 기사:AJAX在PHP中的简单使用