zoukankan      html  css  js  c++  java
  • 十进制与三十六机制 互转 PHP代码

    <?php
    $value = $_REQUEST["val"];
    $ctype = $_REQUEST["ctype"];
    echo "输入十进制数字:<form method="post" action="index.php"><input type="text" name="val" value="".$value.""/>
            <input type="radio" name="ctype" value="1036" checked> 10->36
            <input type="radio" name="ctype" value="3610"> 36->10
            <input  type="submit" value="转换"/></form>";

    if( (isset($value)==false) && (isset($ctype)==false)){
        exit;
    }
    else {
        if($ctype=="1036"){
            $result=get_char($value);
        } else if ($ctype=="3610"){
            $result=get_num($value);
        }
        
        echo "转换结果:".$result."<br>";
        echo "<img src="http://172.16.5.118/cets_web/doc_root/qrApi.php?val=".$value."&size=2"/>";
        echo "<img src="http://172.16.5.118/cets_web/doc_root/qrApi.php?val=".$result."&size=2"/>";
    }
    /**
     * @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;
    }
    ?>

  • 相关阅读:
    November 13th 2016 Week 47th Sunday The 1st Day
    November 12th 2016 Week 46th Saturday
    November 11th 2016 Week 46th Friday
    November 10th 2016 Week 46th Thursday
    November 9th 2016 Week 46th Wednesday
    November 8th 2016 Week 46th Tuesday
    windows 7文件共享方法
    Win7无线网络共享设置方法
    常量指针和指针常量
    如何查找局域网的外网ip
  • 原文地址:https://www.cnblogs.com/canwyq/p/5364045.html
Copyright © 2011-2022 走看看