PHP获取QQ等级,php仿QQ等级太阳显示函数

开头先引述下QQ等级的算法:

设当前等级为N,达到当前等级最少需要的活跃天数为D,当前活跃天数为Dc,升级剩余天数为Dr,则:

从而推出:

好了,引述完成,懒得写字了,贴出代码:

复制内容到剪贴板

代码:* @version 1.0 2008-04-09

*

*/

class showRank {

/**

* 第一级图片显示字段

*/

public $mImage1;

/**

* 第二级图片显示字段

*/

public $mImage2;

/**

* 第三级图片显示字段

*/

public $mImage3;

/**

* 构造函数:传入图片值

* @return 无

*/

function __construct($pImage1 = '★',$pImage2 = '▲',$pImage3 = '●') {

$this->mImage1 = $pImage1;

$this->mImage2 = $pImage2;

$this->mImage3 = $pImage3;

}

/**

* 根据活跃天数计算用户等级。(模仿QQ的升级方式)

* @return int

* @access public

*/

function get_rank($pScore) {

$temp = $pScore+4;

$tRank = sqrt($temp)-2;

$tRank = floor($tRank);

return $tRank;

}

/**

* 用户等级标志,根据用户等级显示用户标志

* 仿照QQ等级的四进制显示

* @return str

* @access public

*/

function get_score($pScore) {

$str = '';

$tRank = $this->get_rank($pScore);//根据分数取得等级

$tPicNum = base_convert($tRank,10,4);//转化为四进制

$tPicNum = strrev($tPicNum);//翻转字符串

$tArray = str_split($tPicNum);//转化为数组

$tNum = count($tArray);

if($tNum<=3) {

for($i=$tNum-1;$i>=0;$i--){

switch($i){

case '0':

for($j=0;$j $str .= $this->mImage1;

}

break;

case '1':

for($j=0;$j $str .= $this->mImage2;

}

break;

case '2':

for($j=0;$j $str .= $this->mImage3;

}

break;

default:

//$str = ;

break;

}

}

}else {

$str = $this->mImage3.$this->mImage3.$this->mImage3.$this->mImage3;

}

return $str;

}

}

?>以上就是显示类,再来个简单的调用实例:

复制内容到剪贴板

代码:';

$tImage2 = '

time_yueliang.gif';

$tImage3 = '

time_sun.gif';

//实例化并传输等级图片

$tShow = new showRank($tImage1,$tImage2,$tImage3);

//输入的活跃天数

$tScore = 1009;

$echo = $tShow->get_score($tScore);

//输出显示效果

print '

'.$echo.'';

?>

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值