我使用一个以十进制存储数据的数据库。我将其转换为二进制文件,因此可以随时将其读取。在十进制长度超过6个字符之前,我没有任何问题。
以下作品:
$value = 2147614720;
$value = decbin($value);
输出:10000000000000100000000000000000
但是,如果我尝试从数据库中提取该值,则超过6个字符时将不起作用。
$value = $row['decimalvalue'];
$value = decbin($value);
输出:1111111111111111111111111111111
任何帮助都会很棒。谢谢。
答案 0 :(得分:0)
直到最近,PHP才仅使用32位整数构建。这可以解释第二个失败的原因。但是令人困惑的是第一个示例为何起作用。
2147614720> 2 ^ 31-1,因此变成2 ^ 31-1 = 2147483647。
升级您的PHP。