PHP unpack() Function
PHP Misc Reference
Example
Unpack data from a binary string:
<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>
Run example »
Definition and Usage
The unpack() function unpacks data from a binary string.
Syntax
Parameter |
Description |
format |
Required. Specifies the format to use when packing data.
Possible values:
- a - NUL-padded string
- A - SPACE-padded string
- h - Hex string, low nibble first
- H - Hex string, high nibble first
- c - signed char
- C - unsigned char
- s - signed short (always 16 bit, machine byte order)
- S - unsigned short (always 16 bit, machine byte order)
- n - unsigned short (always 16 bit, big endian byte order)
- v - unsigned short (always 16 bit, little endian byte order)
- i - signed integer (machine dependent size and byte order)
- I - unsigned integer (machine dependent size and byte order)
- l - signed long (always 32 bit, machine byte order)
- L - unsigned long (always 32 bit, machine byte order)
- N - unsigned long (always 32 bit, big endian byte order)
- V - unsigned long (always 32 bit, little endian byte order)
- f - float (machine dependent size and representation)
- d - double (machine dependent size and representation)
- x - NUL byte
- X - Back up one byte
- Z - NUL-padded string
- @ - NUL-fill to absolute position
|
data |
Required. Specifies the binary data to be unpacked |
Technical Details
Return Value: |
Returns an array on success, or FALSE on failure. |
PHP Version: |
4+ |
Changelog: |
As of PHP 5.5.0, following changes were made for Perl compatibility:
The "a" code now retains trailing NULL bytes. The
"A" code now strips all trailing ASCII whitespace. The "Z" code was added
for NULL-padded strings, and removes trailing NULL bytes. |
More Examples
Example 1
Unpack data:
<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>
Run example »
Example 2
Unpack data:
<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>
Run example »
PHP Misc Reference