PHP pack() Function
❮ PHP Misc Reference
Example
Pack data into a binary string:
 <?php
echo pack("C3",80,72,80);
 ?>
Try it Yourself »
 
Definition and Usage
The pack() function packs data into a binary string.
Syntax
Parameter Values
  
    | 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)
 
    - q - signed long long (always 64 bit, machine byte order)
 
    - Q - unsigned long long (always 64 bit, machine byte order)
 
    - J - unsigned long long (always 64 bit, big endian byte order)
 
    - P - unsigned long long (always 64 bit, little endian byte order)
 
    - f - float (machine dependent size and representation)
 
    - g - float (machine dependent size, little endian byte order)
 
    - G - float (machine dependent size, big endian byte order)
 
    - d - double (machine dependent size and representation)
 
    - e - double (machine dependent size, little endian byte order)
 
    - E - double (machine dependent size, big endian byte order)
 
    - x - NUL byte
 
    - X - Back up one byte
 
    - Z - NUL-padded string
 
    - @ - NUL-fill to absolute position 
 
  
   | 
  
  
    | args+ | 
    Optional. Specifies one or more arguments to be packed | 
  
  
Technical Details
 | Return Value: | 
 Returns data in a binary string | 
  | PHP Version: | 
  4+ | 
  | Changelog: | 
  PHP 7.2 - float and double now supports both big and small endian. PHP 
  7.0.15 - The "E", "e", "G", "g" code was added. PHP 5.6.3 - The "Q", 
  "q", "J", "P" code was added. PHP 5.5 - The "Z" code was added 
  (holds the same functionality as "a" for Perl compatibility). | 
More Examples
Example
Pack data into a binary string:
 <?php
echo pack("C*",80,72,80);
 ?>
Try it Yourself »
 
❮ PHP Misc Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.