PHP与unpack不一致

时间:2013-01-10 09:26:01

标签: php

在过去的几天里,我一直在处理许多与套接字相关的任务,并且必须使用pack()unpack()函数。

对于那些从未使用过这些函数的人:pack函数将许多变量打包成二进制字符串。例如,你可以用这种方式在一个字节上存储8个布尔变量。

现在,在解压缩数据时,我发现了一种相当奇特的行为。我们来看看:

php > var_dump(unpack('n2', pack('n2', 1234, 1234)));
array(2) {
  [1]=>
  int(1234)
  [2]=>
  int(1234)
}

正如您所看到的,unpack的结果数组是从1 索引,而不是通常的0.(大多数PHP函数返回从0索引的数组。)

我的问题是,PHP是否有特定原因,或者它是一个错误?

0 个答案:

没有答案