牛牛在线工具

unpack()

收录 8868 个 PHP 函数,含用途说明与用法示例。

unpack()

将二进制字符串解包成一个数组

函数名:unpack() 适用版本:PHP 4, PHP 5, PHP 7 用法:unpack(string $format, string $data): array|false 解释:unpack() 函数将二进制字符串解包成一个数组。格式字符串指定了数据的顺序以及每个数据的类型和大小。 参数: $format:格式字符串,指定了数据的顺序和类型。格式字符串由一个或多个格式指令组成,每个指令对应一个数据元素。 $data:要解包的二进制字符串。 返回值: 如果解包成功,将返回解包后的数组,其中每个元素对应一个数据元素。 如果解包失败,将返回 false。 示例: 解包一个包含整数和浮点数的二进制字符串: $data = "\x04\x00\xa0\x00\xcd\xcc\xcc\x3d"; $result = unpack("Sint/ffloat", $data); print_r($result); 输出: Array ( [int] => 1024 [float] => 0.1 ) 解包一个包含多个整数的二进制字符串: $data = "\x01\x00\x02\x00\x03\x00"; $result = unpack("S*", $data); print_r($result); 输出: Array ( [1] => 1 [2] => 2 [3] => 3 ) 解包一个包含字符串和整数的二进制字符串: $data = "\x05H\0\0\0Hello"; $result = unpack("Clength/A*string", $data); print_r($result); 输出: Array ( [length] => 5 [string] => Hello ) 注意事项: 格式字符串中的格式指令必须与实际数据的类型和顺序相匹配,否则解包可能会失败。 格式指令可以包含大小和字节顺序(大端或小端)的修饰符,以适应不同的数据结构。 解包的结果数组的键名由格式字符串中的命名指令决定,可以自定义键名以方便后续处理。