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 相关文章推荐
桌面中心(一)创建数据库
Oct 09 PHP
在PHP中执行系统外部命令
Oct 09 PHP
PHP 数组入门教程小结
May 20 PHP
php 各种应用乱码问题的解决方法
May 09 PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 PHP
ThinkPHP实现将本地文件打包成zip下载
Jun 26 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
php include类文件超时问题处理
Feb 06 PHP
Yii中实现处理前后台登录的新方法
Dec 28 PHP
微信随机生成红包金额算法php版
Jul 21 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
php命令行写shell实例详解
Jul 19 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中strlen 函数
2016/02/27 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
学习js所必须要知道的一些
2007/03/07 Javascript
Ajax一统天下之Dojo整合篇
2007/03/24 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
深入分析下javascript中的[]()+!
2015/07/07 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
2016/03/17 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
Python3.2中Print函数用法实例详解
2015/05/19 Python
python字典基本操作实例分析
2015/07/11 Python
python七夕浪漫表白源码
2019/04/05 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
工程管理造价应届生求职信
2013/11/13 职场文书
七年级政治教学反思
2014/02/03 职场文书
总经理助理工作职责
2014/02/06 职场文书
学习雷锋标语
2014/06/25 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
商业计划书之服装
2019/09/09 职场文书
入门学习Go的基本语法
2021/07/07 Golang
分布式架构Redis中有哪些数据结构及底层实现原理
2022/03/13 Redis
mysql insert 存在即不插入语法说明
2022/03/25 MySQL