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版本号
Oct 09 PHP
PHP中一个控制字符串输出的函数
Oct 09 PHP
smarty 原来也不过如此~~呵呵
Nov 25 PHP
用PHP生成html分页列表的代码
Mar 18 PHP
phpize的深入理解
Jun 03 PHP
php常用Stream函数集介绍
Jun 24 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
PHP加密解密实例分析
Dec 25 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
PHP之认识(二)关于Traits的用法详解
Apr 11 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 PHP
php7 参数、整形及字符串处理机制修改实例分析
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获取网络上文件
2006/10/09 PHP
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP 实例化类的一点摘记
2008/03/23 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
javascript函数式编程实例分析
2015/04/25 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
JQuery 获取多个select标签option的text内容(实例)
2017/09/07 jQuery
vue获取dom元素注意事项
2017/12/28 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
python求crc32值的方法
2014/10/05 Python
Python实现二分法算法实例
2015/02/02 Python
浅析Python中的多重继承
2015/04/28 Python
Python网络爬虫实例讲解
2016/04/28 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
Stio官网:男女、儿童户外服装
2019/12/13 全球购物
信用卡工作证明模板
2014/09/14 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
人事行政主管岗位职责
2015/04/09 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript