bindec($value)和hexdec(bin2hex($value))PHP之间的差异
我有一个bindec($value)和hexdec(bin2hex($value))PHP之间的差异,php,type-conversion,Php,Type Conversion,我有一个$value像那样的变量转储(bin2hex($value))输出='015180' 我想把这个值转换成十进制。所以我知道我的$value是二进制的,我写这些代码: var_dump(bindec($value));// 0 var_dump(hexdec(bin2hex($value)));//86400 结果是86400,但为什么第一个不返回我0。他们两个有什么不同。还是我遗漏了什么 我只引用了bin2hex文档中的一条评论: bin2hex函数用于将二进制数据转换为十六进制字符串
$value
像那样的变量转储(bin2hex($value))
输出='015180'
我想把这个值转换成十进制。所以我知道我的$value
是二进制的,我写这些代码:
var_dump(bindec($value));// 0
var_dump(hexdec(bin2hex($value)));//86400
结果是
86400
,但为什么第一个不返回我0
。他们两个有什么不同。还是我遗漏了什么 我只引用了bin2hex
文档中的一条评论:
bin2hex函数用于将二进制数据转换为十六进制字符串表示形式。此函数不用于将表示二进制数字的字符串转换为十六进制。如果您需要此功能,只需执行以下操作:
这将输出“f9”。请记住,二进制数据和二进制的字符串表示之间有很大的区别
作者:tehjosh你能给我们看看
$value
的原值吗?如果您的issue.var_dump($value)输出为'Q',请制作一个复制/粘贴示例�'var_dump($value)输出为'Q�' 如何使用一种类型转换获取86400bin2hex
将字符串作为参数。可能您的二进制数据被评估为某个值,该值从hexdec
生成86400。您有任何证据吗?尝试并写入输出:D我需要在hexdec之前写入bin2hex
<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>