FREE Web Template Download
HTML CSS JAVASCRIPT SQL PHP BOOTSTRAP JQUERY ANGULARJS TUTORIALS REFERENCES EXAMPLES Blog
 

PHP unpack() Function

PHP Misc Reference 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

unpack(format,data)

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 PHP Misc Reference