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 相关文章推荐
将数组写入txt文件 var_export
Apr 21 PHP
php遍历目录viewDir函数
Dec 15 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
php中inlcude()性能对比详解
Sep 16 PHP
php跨域cookie共享使用方法
Feb 20 PHP
php+ajax导入大数据时产生的问题处理
Jun 11 PHP
Opcache导致php-fpm崩溃nginx返回502
Mar 02 PHP
php实现的用户查询类实例
Jun 18 PHP
PHP模拟asp.net的StringBuilder类实现方法
Aug 08 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
ThinkPHP的常用配置选项汇总
Mar 24 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 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函数
2010/02/16 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
javascript如何写热点图
2015/12/08 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
使用Angular material主题定义自己的组件库的配色体系
2019/09/04 Javascript
python利用datetime模块计算时间差
2015/08/04 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
pytorch 常用线性函数详解
2020/01/15 Python
基于python 取余问题(%)详解
2020/06/03 Python
python新手学习可变和不可变对象
2020/06/11 Python
Python3获取cookie常用三种方案
2020/10/05 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
新浪网技术部笔试题
2016/08/26 面试题
如何打开WebSphere远程debug
2014/10/10 面试题
商务英语专业毕业生自荐信
2013/11/05 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
公务员培的训心得体会
2014/09/01 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
安全责任协议书范本
2016/03/23 职场文书
新员工入职感言范文!
2019/07/04 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
go语言中http超时引发的事故解决
2021/06/02 Golang
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis