如何在PHP中将“ 32位”转换为数字?

时间:2018-08-14 18:43:05

标签: php

我正在打印DBF文件中的行数,这行得通:

$content = fread($fp, 8);
$number = 0;
for ($i = 7; $i >= 4; $i--) {
  $number = $number * 256 + ord($content[$i]);
}
print $number;

但是我可以肯定地有一个packunpack命令可以做到相同。有吗?

1 个答案:

答案 0 :(得分:2)

看起来$content包含一个8字节的字符串,您想忽略前4个字节,而将后4个字节作为无符号int。如果是这样,您可以使用:

$number = unpack('L', substr($content, 4))[1];