不同于bindec($ value)和hexdec(bin2hex($ value))PHP

时间:2018-04-20 12:28:40

标签: php type-conversion

我有一个$valuevar_dump(bin2hex($value))输出= '015180'

我希望将此值转换为十进制。所以我知道我的$value是二进制的,我写了这些代码:

var_dump(bindec($value));// 0
var_dump(hexdec(bin2hex($value)));//86400

结果是86400,但为什么第一个不会返回0。两者之间有什么不同。还是我错过了什么?

1 个答案:

答案 0 :(得分:1)

我只引用bin2hex文档中的一条评论:

  

bin2hex函数用于将二进制数据转换为十六进制字符串表示。此函数不用于将表示二进制数字的字符串转换为十六进制数。如果您需要该功能,可以直接执行此操作:

<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>
  

这将输出“f9”。请记住,二进制数据与二进制数据的字符串表示之间存在很大差异。

作者:tehjosh