Zna*_*kus 1 php algorithm base62
谁能解释一下下面的代码吗?那或者向我指出一些可以阐明一些观点的资源:)
它将整数转换为 base62 字符串。
private static $_characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
private static function _convertBase($num)
{
$base = strlen(self::$_characters);
$string = '';
for ($t = floor(log10($num) / log10($base)); $t >= 0; $t--) {
$a = floor($num / pow($base, $t));
$string .= substr(self::$_characters, $a, 1);
$num = $num - ($a * pow($base, $t));
}
return $string;
}
Run Code Online (Sandbox Code Playgroud)
更新:我想问的是:有人可以解释一下下面的算法吗?:) 谢谢。
你太复杂了:
private static $_characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
private static function _convertBase($num)
{
$base = strlen(self::$_characters); // 62
$string = self::$_characters[$num % $base];
while (($num = intval($num / $base)) > 0)
{
$string = self::$_characters[$num % $base] . $string;
}
return $string;
}
Run Code Online (Sandbox Code Playgroud)