PHP自定义多进制的方法
如下所示:
/** *自定义多进制,根据设置的多进制字符串获取十进制对应的多进制 *@param$str自定义的多进制字符串 *@param$num十进制数字 *@return$xbin对应的多进制数字 */ functionxbin($str,$num){ $num=floatval($num); $x=strlen($str); $arr=str_split($str); $digit=fmod($num,$x); $xbin=isset($arr[$digit])?$arr[$digit]:null; $pre_digit=floor($num/$x); if($pre_digit>=1){ $pre_digit=xbin($str,$pre_digit); return$pre_digit.$xbin; } return$xbin; } //测试8进制 $str='01234567'; $a=xbin($str,9); $b=decoct(9); dump($a);//string(2)"11" dump($b);//string(2)"11" //测试16进制 $str='0123456789abcdef'; $a=xbin($str,31); $b=dechex(31); dump($a);//string(2)"1f" dump($b);//string(2)"1f" //自定义30进制 $str='0123456789abcdefghijklmnopqrst'; $a=xbin($str,59); dump($a);//string(2)"1t" //自定义92进制 $str='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()-=[];\',./{}:"<>?\|'; $a=xbin($str,183); dump($a);//string(2)"1|"
以上就是小编为大家带来的PHP自定义多进制的方法全部内容了,希望大家多多支持毛票票~