我正在打印DBF文件中的行数,这行得通:
$content = fread($fp, 8);
$number = 0;
for ($i = 7; $i >= 4; $i--) {
$number = $number * 256 + ord($content[$i]);
}
print $number;
但是我可以肯定地有一个pack
或unpack
命令可以做到相同。有吗?
答案 0 :(得分:2)
看起来$content
包含一个8字节的字符串,您想忽略前4个字节,而将后4个字节作为无符号int。如果是这样,您可以使用:
$number = unpack('L', substr($content, 4))[1];