php中的Base62类(适用于数值转字符串)

php中Base62类的用法。
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);

} 

}

调用示例:

<?php

//base62调用示例

//编辑:www.jbxue.com

$str = 1;

$object = new Base62();

echo $object->base62_encode($str) . "\n";

echo $object->base62_decode($object->base62_encode($str)) . "\n";

你可能感兴趣的:(PHP)