Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

PHP продвинутый

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP PHP JSON Исключения PHP

PHP ООП

PHP Что такое ООП PHP-классы/объекты PHP-конструктор PHP-деструктор Модификаторы доступа PHP Наследование PHP PHP-константы Абстрактные классы PHP PHP-интерфейсы Особенности PHP Статические методы PHP Статические свойства PHP Пространства имен PHP Итерации PHP

База данных MySQL

База данных MySQL Подключиться к MySQL MySQL Создать БД MySQL Создать таблицу Вставка данных MySQL MySQL Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

PHP - функция распаковки()

❮ Прочее руководство по PHP

Пример

Распаковать данные из бинарной строки:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

Определение и использование

Функция unpack() распаковывает данные из двоичной строки.


Синтаксис

unpack(format,data)

Значения параметров

Parameter Description
format Required. Specifies the format to use when unpacking 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
data Required. Specifies the binary data to be unpacked
offset Optional. Specifies where to start unpacking from. Default is 0.


Технические детали

Возвращаемое значение: Возвращает массив в случае успеха или FALSE в случае ошибки.
Версия PHP: 4+
Список изменений: PHP 7.2 - float и double теперь поддерживают как прямой, так и прямой порядок байтов.
PHP 7.1 — добавлен необязательный параметр смещения.
PHP 5.5.0 - Для совместимости с Perl были внесены следующие изменения: Код "a" теперь сохраняет завершающие байты NULL.
Код «A» теперь удаляет все завершающие пробелы ASCII.
Код «Z» был добавлен для строк, заполненных NULL, и удаляет завершающие байты NULL.

Дополнительные примеры

Пример

Распаковать данные:

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

Пример

Распаковать данные:

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

❮ Прочее руководство по PHP