Press "Enter" to skip to content

php 十进制转多进制算法

Last updated on 2019年10月30日

PHP多进制转换、十进制转62进制、十进制转65进制,URL的 md5 进制转换

/**
 * 自定义多进制,根据设置的多进制字符串获取十进制对应的多进制
 * @param $chars_str 自定义的多进制字符串
 * @param $integer 十进制数字
 * @return $xbin 对应的多进制数字
 */
function xbin($chars_str, $integer){
  $integer = floatval($integer);
  $unit = strlen($chars_str);
  echo $unit.PHP_EOL;
  $chars_list = str_split($chars_str);
  $mod = fmod($integer, $unit);
  $xbin = isset($chars_list[$mod]) ? $chars_list[$mod] : null;
  
  $pre_mod = floor($integer / $unit);
  if($pre_mod >= 1){
    $pre_mod = xbin($chars_str, $pre_mod);
    return $pre_mod.$xbin;
  }
  return $xbin;
}

// 自定义65进制,建议打乱顺序
$chars_str= '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.';
$a = xbin($chars_str, 1024);
echo ($a); // Fn

引用自: https://www.zhangshengrong.com/p/JKN8EnlDX6/

打赏 赞(1)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Captcha Code