当前位置: 移动技术网 > IT编程>开发语言>PHP > php实现36进制与10进制转换功能示例

php实现36进制与10进制转换功能示例

2017年12月12日  | 移动技术网IT编程  | 我要评论

本文实例讲述了php实现36进制与10进制转换功能。分享给大家供大家参考,具体如下:

/**
 * @desc im:十进制数转换成三十六机制数
 * @param (int)$num 十进制数
 * return 返回:三十六进制数
*/
function get_char($num) {
  $num = intval($num);
  if ($num <= 0)
    return false;
  $chararr = array("0","1","2","3","4","5","6","7","8","9",'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');
  $char = '';
  do {
    $key = ($num - 1) % 36;
    $char= $chararr[$key] . $char;
    $num = floor(($num - $key) / 36);
  } while ($num > 0);
  return $char;
}
/**
 * @desc im:三十六进制数转换成十机制数
 * @param (string)$char 三十六进制数
 * return 返回:十进制数
 */
function get_num($char){
  $array=array("0","1","2","3","4","5","6","7","8","9","a", "b", "c", "d","e", "f", "g", "h", "i", "j", "k", "l","m", "n", "o","p", "q", "r", "s", "t", "u", "v", "w", "x", "y","z");
  $len=strlen($char);
  for($i=0;$i<$len;$i++){
    $index=array_search($char[$i],$array);
    $sum+=($index+1)*pow(36,$len-$i-1);
  }
  return $sum;
}

使用实例:

echo "get_char:".get_char(514549)."<br>";
echo "get_num:".get_num('a0zz')."<br>";

ps:这里再为大家推荐几款计算与转换工具供大家参考使用:

在线任意进制转换工具:

科学计算器在线使用_高级计算器在线计算:

在线计算器_标准计算器:

更多关于php相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《php数学运算技巧总结》、《php数组(array)操作技巧大全》、《php数据结构与算法教程》、《php程序设计算法总结》、《php正则表达式用法总结》、《php运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家php程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网