gpt4 book ai didi

php - 使用 PHP 八进制和字符串转换

转载 作者:可可西里 更新时间:2023-11-01 13:58:14 25 4
gpt4 key购买 nike

我正在使用一个数据库,该数据库包含一堆以前导 0 为前缀的序列号。

所以序列号可以看起来像 00032432 或 56332432。

问题出在 PHP 我不明白八进制转换系统是如何工作的。

一个具体的例子是,我正在尝试将所有这些基于整数的数字与字符串进行转换和比较。

是否可以将八进制数(例如 00234)转换为字符串(例如“00234”)以便我进行比较?

编辑 - 添加具体示例。我希望能够像下面这样在序列号上运行 str 函数。

  $serial = 00032432; // coming from DB

if(substr($serial, 0, 1) == '0') {

// do something

}

最佳答案

当你用(string) $number转换时,你总是得到一个十进制的字符串,不管你是八进制还是十进制,int都是一个 int 并且它本身没有基础。这是他的字符串表示,必须用一个基础来解释。

您可以通过这种方式获得数字的八进制字符串表示形式:

$str = base_convert((string) 00032432, 10, 8);

或给出十进制表示的数字:

$str = base_convert((string) 13594, 10, 8);    

或者,更简洁但不太清楚:

 $str = base_convert(00032432, 10, 8);
$str = base_convert(13594, 10, 8);

最后,字符串转换是隐式进行的。这些示例给出了所有结果 $str = "32432"。

base_convert将数字的字符串表示形式从一个基数转换为另一个数

如果您还想要字符串中的零,可以使用简单的数学运算将它们相加。

希望对您有所帮助。

关于php - 使用 PHP 八进制和字符串转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2495611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com