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 相关文章推荐
配置支持SSI
Nov 25 PHP
使用adodb lite解决问题
Dec 31 PHP
PHP中=赋值操作符对不同数据类型的不同行为
Jan 02 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
php中OR与|| AND与&amp;&amp;的区别总结
Oct 26 PHP
对PHP语言认识上需要避免的10大误区
Jun 12 PHP
php实现简单文件下载的方法
Jan 30 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
php图形jpgraph操作实例分析
Feb 22 PHP
php字符串截取函数mb_substr用法实例分析
Jun 25 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
PHP7.3.10编译安装教程
Oct 08 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 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
zf框架的session会话周期及次数限制使用示例
2014/03/13 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
星球大战与Python之间的那些事
2016/01/07 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
了解一下python内建模块collections
2020/09/07 Python
解决pycharm修改代码后第一次运行不生效的问题
2021/02/06 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
美国伊甸园兄弟种子公司:Eden Brothers
2018/07/01 全球购物
自主招生自荐信格式
2013/12/03 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL
python中使用redis用法详解
2022/12/24 Redis