用于base_convert的PHP反函数?

时间:2013-09-06 19:44:33

标签: php

我必须使用一些三元(基数为3)的数字进行算术运算。我知道我可以使用base_convert从三元组(“2001022210”)获取整数。是否存在执行逆操作的现有函数?

我想要“some_function”:

$someInteger = base_convert("2001022210", 10, 3);
some_function($someInteger);

回答“2001022210”。我很乐意提供额外的论据......

some_function($someInteger, 3);
some_function($someInteger, 3, 10);

我知道我可以自己编码,但我希望它已经存在。

3 个答案:

答案 0 :(得分:4)

$someInteger现在位于3号基地...所以只需$base10Int = base_convert($someInteger, 3, 10);即可将其取回。

答案 1 :(得分:1)

汤姆。当您使用php函数查看它们实际执行的操作时,请转到http://php.net/。阅读和理解语言API是编写优秀代码的一般关键。

string base_convert ( string $number , int $frombase , int $tobase )

返回包含base tobase中表示的数字的字符串。给出数字的基数在frombase中指定。 frombase和tobase都必须介于2到36之间。基数高于10的数字数字将用字母a-z表示,含义为10,b表示11,z表示35。

现在让$number成为您要转换的数字:

  • 如果您想将其从三元转换为十进制,请使用base_convert($number, 3, 10);
  • 如果您想将其从十进制转换为三元,请使用base_convert($number, 10, 3);

答案 2 :(得分:0)

是的,这可以通过base_convert()完成:

正如PHP手册所说:

  

base_convert - 在任意基础

之间转换一个数字

因此,以下方法可行:

base_convert($someinteger, 3, 10);

作为一项功能:

function some_func($someinteger) {
    return base_convert($someinteger, 3, 10);
}