PHP获取QQ等级,php仿QQ等级太阳显示函数
開頭先引述下QQ等級(jí)的算法:
設(shè)當(dāng)前等級(jí)為N,達(dá)到當(dāng)前等級(jí)最少需要的活躍天數(shù)為D,當(dāng)前活躍天數(shù)為Dc,升級(jí)剩余天數(shù)為Dr,則:
從而推出:
好了,引述完成,懶得寫字了,貼出代碼:
復(fù)制內(nèi)容到剪貼板
代碼:* @version 1.0 2008-04-09
*
*/
class showRank {
/**
* 第一級(jí)圖片顯示字段
*/
public $mImage1;
/**
* 第二級(jí)圖片顯示字段
*/
public $mImage2;
/**
* 第三級(jí)圖片顯示字段
*/
public $mImage3;
/**
* 構(gòu)造函數(shù):傳入圖片值
* @return 無
*/
function __construct($pImage1 = '★',$pImage2 = '▲',$pImage3 = '●') {
$this->mImage1 = $pImage1;
$this->mImage2 = $pImage2;
$this->mImage3 = $pImage3;
}
/**
* 根據(jù)活躍天數(shù)計(jì)算用戶等級(jí)。(模仿QQ的升級(jí)方式)
* @return int
* @access public
*/
function get_rank($pScore) {
$temp = $pScore+4;
$tRank = sqrt($temp)-2;
$tRank = floor($tRank);
return $tRank;
}
/**
* 用戶等級(jí)標(biāo)志,根據(jù)用戶等級(jí)顯示用戶標(biāo)志
* 仿照QQ等級(jí)的四進(jìn)制顯示
* @return str
* @access public
*/
function get_score($pScore) {
$str = '';
$tRank = $this->get_rank($pScore);//根據(jù)分?jǐn)?shù)取得等級(jí)
$tPicNum = base_convert($tRank,10,4);//轉(zhuǎn)化為四進(jìn)制
$tPicNum = strrev($tPicNum);//翻轉(zhuǎn)字符串
$tArray = str_split($tPicNum);//轉(zhuǎn)化為數(shù)組
$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;
}
}
?>以上就是顯示類,再來個(gè)簡(jiǎn)單的調(diào)用實(shí)例:
復(fù)制內(nèi)容到剪貼板
代碼:';
$tImage2 = '
';
$tImage3 = '
';
//實(shí)例化并傳輸?shù)燃?jí)圖片
$tShow = new showRank($tImage1,$tImage2,$tImage3);
//輸入的活躍天數(shù)
$tScore = 1009;
$echo = $tShow->get_score($tScore);
//輸出顯示效果
print '
'.$echo.'';
?>
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的PHP获取QQ等级,php仿QQ等级太阳显示函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自找麻烦
- 下一篇: php ood,ooa ood oop编