PHP自定义多进制的方法
更新时间:2016年11月03日 10:41:03 投稿:jingxian
下面小编就为大家带来一篇PHP自定义多进制的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
如下所示:
/** * 自定义多进制,根据设置的多进制字符串获取十进制对应的多进制 * @param $str 自定义的多进制字符串 * @param $num 十进制数字 * @return $xbin 对应的多进制数字 */ function xbin($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自定义多进制的方法全部内容了,希望大家多多支持脚本之家~
您可能感兴趣的文章:
相关文章
使用PHP和JavaScript判断请求是否来自微信内浏览器
这篇文章主要介绍了使用PHP和JavaScript判断请求是否来自微信内浏览器,包括在手机端的程序上使用微信的分享JS脚本的方法,需要的朋友可以参考下2015-08-08PHP中new static()与new self()的比较
在写代码时发现 new static(),觉得实例化的地方不是应该是 new self()吗?怎么回事?通过查阅相关资料才知道具体情况,下面小编整理下方便日后查找2016-08-08
最新评论