我有一个$value
,var_dump(bin2hex($value))
输出= '015180'
我希望将此值转换为十进制。所以我知道我的$value
是二进制的,我写了这些代码:
var_dump(bindec($value));// 0
var_dump(hexdec(bin2hex($value)));//86400
结果是86400
,但为什么第一个不会返回0
。两者之间有什么不同。还是我错过了什么?
答案 0 :(得分:1)
我只引用bin2hex
文档中的一条评论:
bin2hex函数用于将二进制数据转换为十六进制字符串表示。此函数不用于将表示二进制数字的字符串转换为十六进制数。如果您需要该功能,可以直接执行此操作:
<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>
这将输出“f9”。请记住,二进制数据与二进制数据的字符串表示之间存在很大差异。
作者:tehjosh