利用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|"
-
为什么说结对编程实际操作起来很难
人们常说团结就是力量,那么在编程中人多是不是也能产生更高的效率呢?下面就和小编一起来看看吧!更多内容请关注应届毕业生网!结对编程有助于提高软件质量和加强团队成员合作。它有非常多的好处,但是,团队成员真的很容易结成对子吗?MarcosBrizeno,巴西ThoughtWorks...
-
如何利用PHP访问带有密码的Redis
导语:如何利用PHP访问带有密码的Redis方法,下面小编给大家提供了代码实现步骤,大家可以参考阅读,更多详情请关注应届毕业生考试网。一、首先设置Redis密码,以提供远程登陆打开配置文件,找到requirepass,然后修改如下:requirepassyourpasswordyourpassword就是redis验...
-
PHP数据类型之数组变量详解
导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看PHP数据类型之数组变量详解,希望对大家有所帮助。PHP中的数组实际上是一个有序图,是一种把values映射到keys的类型。一个数组实际上就...
-
PHP学习入门的一些基础知识
导语:PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。下面我们来看看PHP学习入门的一些基础知识,希望对大家有所帮助。一,PHP脚本代码标记PHP的脚本是文件中一对特殊标记所包括的内容,如ASP是“”,PHP可看...