PHP自定义多进制的方法


Posted in PHP onNovember 03, 2016

如下所示:

/**
 * 自定义多进制,根据设置的多进制字符串获取十进制对应的多进制
 * @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 相关文章推荐
发挥语言的威力--融合PHP与ASP
Oct 09 PHP
PHP中的正规表达式(二)
Oct 09 PHP
PHP print类函数使用总结
Jun 25 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
探讨php中防止SQL注入最好的方法是什么
Jun 10 PHP
PHP文件大小格式化函数合集
Mar 10 PHP
不使用php api函数实现数组的交换排序示例
Apr 13 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
PHP实现linux命令tail -f
Feb 22 PHP
使用php自动备份数据库表的实现方法
Jul 28 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
php7 list()、session及其他模块的修改实例分析
May 25 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 #PHP
注释PHP和html混合代码的小技巧(分享)
Nov 03 #PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
Nov 03 #PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 #PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 #PHP
PHP 微信扫码支付源代码(推荐)
Nov 03 #PHP
php使用正则表达式去掉html中的注释方法
Nov 03 #PHP
You might like
php一个找二层目录的小东东
2012/08/02 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
Javascript !!的作用
2008/12/04 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
javascript中定义类的方法详解
2015/02/10 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
AngularJS 实现购物车全选反选功能
2017/10/24 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
2018/05/13 Javascript
让你5分钟掌握9个JavaScript小技巧
2018/06/09 Javascript
利用jqgrid实现上移下移单元格功能
2018/11/07 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
python django model联合主键的例子
2019/08/06 Python
django项目用higcharts统计最近七天文章点击量
2019/08/17 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
Python用Jira库来操作Jira
2020/12/28 Python
德国购买健身器材:AsVIVA
2017/08/09 全球购物
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
override和overload的区别
2016/03/09 面试题
企业为何需要商业计划书
2013/12/26 职场文书
cf搞笑广告词
2014/03/14 职场文书
安全责任书怎么写
2014/07/28 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技