a -- 将字符串空白以 NULL 字符填满
A -- 将字符串空白以 SPACE 字符 (空格) 填满
h -- 16进制字符串,低位在前以半字节为单位
H -- 16进制字符串,高位在前以半字节为单位
c -- 有符号字符
C -- 无符号字符
s -- 有符号短整数 (16位,主机字节序)
S -- 无符号短整数 (16位,主机字节序)
n -- 无符号短整数 (16位, 大端字节序)
v -- 无符号短整数 (16位, 小端字节序)
i -- 有符号整数 (依赖机器大小及字节序)
I -- 无符号整 (依赖机器大小及字节序)
l -- 有符号长整数 (32位,主机字节序)
L -- 无符号长整数 (32位,主机字节序)
N -- 无符号长整数 (32位, 大端字节序)
V -- 无符号长整数 (32位, 小端字节序)
f -- 单精度浮点数 (依计算机的范围)
d -- 双精度浮点数 (依计算机的范围)
x -- 空字节
X -- 倒回一位
@ -- 填入 NULL 字符到绝对位置pack.php
$d = pack('H4','cc22');
$d.=pack('l','1234567890');
file_put_contents('p',$d);
unpack.php
$d= file_get_contents('p');
echo strlen($d);
var_dump(unpack('H4str/lnum',$d));
结果