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 相关文章推荐
一个MYSQL操作类
Nov 16 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
session 加入redis的实现代码
Jul 15 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
PHP chop()函数讲解
Feb 11 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
Laravel 读取 config 下的数据方法
Oct 13 PHP
PHP 对象接口简单实现方法示例
Apr 13 PHP
PHP实现简易图形计算器
Aug 28 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实现无限级分类实现代码(递归方法)
2011/01/01 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
一个简单且很好用的php分页类
2013/10/26 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
Python学习笔记(一)(基础入门之环境搭建)
2014/06/05 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
python django生成迁移文件的实例
2019/08/31 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
Python常用数据分析模块原理解析
2020/07/20 Python
Python自动登录QQ的实现示例
2020/08/28 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
.NET概念性的面试题
2012/02/29 面试题
本科生职业生涯规划书范文
2014/01/21 职场文书
八年级数学教学反思
2014/01/31 职场文书
思想品德自我评价
2014/02/04 职场文书
初中作文评语大全
2014/04/23 职场文书
园林技术专业求职信
2014/07/28 职场文书
迎国庆演讲稿
2014/09/05 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
离职信范文
2015/06/23 职场文书
个人售房合同协议书
2016/03/21 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python