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 相关文章推荐
在yii中新增一个用户验证的方法详解
Jun 20 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
php 中奖概率算法实现代码
Jan 25 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 PHP
PHP异常类及异常处理操作实例详解
Dec 19 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 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验证码无法显示的原因及解决办法
2017/08/11 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
JavaScript Perfection kill 测试及答案
2010/03/23 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
详解vue项目中实现图片裁剪功能
2019/06/07 Javascript
windows下python连接oracle数据库
2017/06/07 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
解决Python plt.savefig 保存图片时一片空白的问题
2019/01/10 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
芬兰攀岩、山地运动和户外活动用品购物网站:Bergfreunde
2016/10/06 全球购物
应届大学生自荐信格式
2013/09/21 职场文书
实习生求职自荐信
2014/02/07 职场文书
旷课检讨书1000字
2014/02/14 职场文书
风险评估实施方案
2014/03/09 职场文书
中班下学期幼儿评语
2014/12/30 职场文书
2015年度信用社工作总结
2015/05/04 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技