unpack
从二进制字符串中解压缩数据
PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
unpack 函数用于将二进制数据按照指定的格式解析成一个关联数组。每个数组元素的键名由指定的格式字符决定,返回的数据结构可以是数组,也可以是其他类型,具体取决于格式化字符串的设置。
unpack(string $format, string $data): array
返回一个关联数组,数组的键名由格式字符串中的格式字符指定,数组的值为解包后的数据。
假设我们有一个二进制字符串,其中包含一个无符号短整数、一个浮点数和一个字符。使用 unpack 函数可以解析出这些数据。
<?php $data = pack('vfd', 12345, 3.14159, 'A'); // 打包数据 $result = unpack('vshort/ffloat/cchar', $data); // 解包数据 <p>print_r($result);<br> ?><br>
首先使用 pack 函数将数据打包成一个二进制字符串。接着,使用 unpack 函数按照指定的格式字符串解包该二进制数据。在此示例中,格式字符串 'vshort/ffloat/cchar' 表示:
最终,解包后的数组包含三个元素:short、float 和 char,分别对应二进制数据中的相应部分。