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
数据库的日期格式转换
Oct 09 PHP
弄了个检测传输的参数是否为数字的Function
Dec 06 PHP
php将会员数据导入到ucenter的代码
Jul 18 PHP
将时间以距今多久的形式表示,PHP,js双版本
Sep 25 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php使用session二维数组实例
Nov 06 PHP
PHP 与 UTF-8 的最佳实践详细介绍
Jan 04 PHP
thinkPHP5.0框架模块设计详解
Mar 18 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
PHP chop()函数讲解
Feb 11 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 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
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
jQuery弹出层插件popShow用法示例
2017/01/23 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
BootStrap入门学习第一篇
2017/08/28 Javascript
JS构造一个html文本内容成文件流形式发送到后台
2018/07/31 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
vant 自定义 van-dropdown-item的用法
2020/08/05 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python3之文件读写操作的实例讲解
2018/01/23 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
django创建简单的页面响应实例教程
2019/09/06 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
Python版中国省市经纬度
2020/02/11 Python
python如何从键盘获取输入实例
2020/06/18 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
致百米运动员广播稿
2014/01/29 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
大学生活自我评价
2014/04/09 职场文书
带刀到教室的检讨书
2014/10/04 职场文书
西安导游词
2015/02/12 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
bat批处理之字符串操作的实现
2022/03/16 Python
JS class语法糖的深入剖析
2022/07/07 Javascript