php中的Base62類(適用于數(shù)值轉(zhuǎn)字符串)
更新時間:2013年08月12日 09:17:21 作者:
以下是對php中Base62類的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
Base62類源碼:
class Base62 {
private $string = "vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs";
public function base62_encode($str) {
$out = '';
for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {
$a = floor($str / pow(62, $t));
$out = $out.substr($this->string, $a, 1);
$str = $str - ($a * pow(62, $t));
}
return $out;
}
public function base62_decode($str) {
$out = 0;
$len = strlen($str) - 1;
for($t=0; $t<=$len; $t++) {
$out = $out + strpos($this->string, substr($str, $t, 1)) * pow(62, $len - $t);
}
return substr(sprintf("%f", $out), 0, -7);
}
}
用法:
$str = 1;
$object = new Base62();
echo $object->base62_encode($str) . "\n";
echo $object->base62_decode($object->base62_encode($str)) . "\n";
復(fù)制代碼 代碼如下:
class Base62 {
private $string = "vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs";
public function base62_encode($str) {
$out = '';
for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {
$a = floor($str / pow(62, $t));
$out = $out.substr($this->string, $a, 1);
$str = $str - ($a * pow(62, $t));
}
return $out;
}
public function base62_decode($str) {
$out = 0;
$len = strlen($str) - 1;
for($t=0; $t<=$len; $t++) {
$out = $out + strpos($this->string, substr($str, $t, 1)) * pow(62, $len - $t);
}
return substr(sprintf("%f", $out), 0, -7);
}
}
用法:
復(fù)制代碼 代碼如下:
$str = 1;
$object = new Base62();
echo $object->base62_encode($str) . "\n";
echo $object->base62_decode($object->base62_encode($str)) . "\n";
您可能感興趣的文章:
- php封裝好的人民幣數(shù)值轉(zhuǎn)中文大寫類
- PHP統(tǒng)計數(shù)值數(shù)組中出現(xiàn)頻率最多的10個數(shù)字的方法
- PHP查找數(shù)值數(shù)組中不重復(fù)最大和最小的10個數(shù)的方法
- 探討PHP函數(shù)ip2long轉(zhuǎn)換IP時數(shù)值太大產(chǎn)生負(fù)數(shù)的解決方法
- PHP 第二節(jié) 數(shù)據(jù)類型之?dāng)?shù)值型
- php數(shù)字游戲 計算24算法
- PHP計算加權(quán)平均數(shù)的方法
- PHP之浮點(diǎn)數(shù)計算比較以及取整數(shù)不準(zhǔn)確的解決辦法
- 總結(jié)PHP中數(shù)值計算的注意事項(xiàng)
相關(guān)文章
php構(gòu)造函數(shù)與析構(gòu)函數(shù)
PHP析構(gòu)函數(shù)與構(gòu)造函數(shù)是相反的,它們被調(diào)用來一個對象從內(nèi)存中銷毀,幫助我們釋放對象屬性所占用的內(nèi)存并銷毀對象相關(guān)的資源。2016-04-04不錯的PHP學(xué)習(xí)之php4與php5之間會穿梭一點(diǎn)點(diǎn)感悟
不錯的PHP學(xué)習(xí)之php4與php5之間會穿梭一點(diǎn)點(diǎn)感悟...2007-05-05php實(shí)現(xiàn)的一段簡單概率相關(guān)代碼
這篇文章主要介紹了php實(shí)現(xiàn)的一段簡單概率相關(guān)代碼,通過數(shù)字的運(yùn)算分析概率統(tǒng)計的原理與使用技巧,需要的朋友可以參考下2016-05-05php更新mysql后獲取影響的行數(shù)發(fā)生異常解決方法
mysql_affected_rows函數(shù)當(dāng)UPDATE前后的數(shù)據(jù)一樣時會返回異常值,接下來為大家介紹個簡單的解決方法感興趣的朋友可以參考下哈2013-03-03php中獲取遠(yuǎn)程客戶端的真實(shí)ip地址的方法
在PHP 中使用 $_SERVER["REMOTE_ADDR"] 來取得客戶端的 IP 地址,但如果客戶端是使用代理服務(wù)器來訪問,那取到的就是代理服務(wù)器的 IP 地址,而不是真正的客戶端 IP 地址。2011-08-08