php语言用的是几进制,利用PHP自定义多进制

利用PHP自定义多进制

PHP自定义多进制的方法有哪些?就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕业生考试网!

如下所示:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

/**

* 自定义多进制,根据设置的`多进制字符串获取十进制对应的多进制

* @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自定义多进制】相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值