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发送有附件的电子邮件-(PHPMailer使用的实例分析)
Apr 26 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
PHP文件锁定写入实例解析
Jul 14 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php实现无限级分类
Dec 24 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
Laravel 5.3 学习笔记之 错误&amp;日志
Aug 28 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 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
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
php探针不显示内存解决方法
2019/09/17 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
jQuery页面加载初始化常用的三种方法
2014/06/04 Javascript
Node.js与PHP、Python的字符处理性能对比
2014/07/06 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
2015/10/15 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
用Vue写一个分页器的示例代码
2018/04/22 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
JS实现骰子3D旋转效果
2019/10/24 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python读取Android permission文件
2013/11/01 Python
python正则表达式的使用
2017/06/12 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
Django实现跨域的2种方法
2019/07/31 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
幼儿园中班教学反思
2014/02/10 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
写给导师的自荐信
2015/03/06 职场文书