Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bindec($value)和hexdec(bin2hex($value))PHP之间的差异_Php_Type Conversion - Fatal编程技术网

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�' 如何使用一种类型转换获取86400
bin2hex
将字符串作为参数。可能您的二进制数据被评估为某个值,该值从
hexdec
生成86400。您有任何证据吗?尝试并写入输出:D我需要在hexdec之前写入bin2hex
<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>