Функции Язык программирования PHP

unpack

(PHP 3, PHP 4)

unpack - распаковывает данные из бинарной строки.

Описание

array unpack (string format, string data)

unpack() из бинарной строки в массив в соответствии с format. Возвращает массив, содержащий распакованные элементы двоичной строки.

unpack() работает несколько иначе, чем Perl, так как распакованные данные хранятся в ассоциативном массиве. Для этого вы должны именовать разные коды формата и разделить их слэшем /.
Пример 1. Строка форматирования unpack()
$array = unpack ("c2chars/nint", $binarydata);

Результирующий массив будет содержать вхождения "chars1", "chars2" и "int".

Объяснение кодов формата см. также в pack().

Обратите внимание, что PHP внутренне хранит интегральные значения как знаковые. Если вы unpack большое unsigned long и оно имеет тот же размер, что внутренне хранимые PHP значения, результатом будет отрицательное число, даже если была специфицирована беззнаковая распаковка.


Назад Оглавление Вперёд
uniqid Вверх usleep

Возвращение сложных значений

Ваша функция может также возвращать сложные типы данных, такие как объект/object или массив/array.

Возвращение объекта:

  1. Вызвать object_init(return_value).

  2. Заполнить его значениями. Функции, предназначенные для этого, перечислены ниже.

  3. Возможно, зарегистрировать функции для этого объекта. Чтобы получать значения из объекта, функции понадобится получить "this" из active_symbol_table. Его тип должен быть IS_OBJECT, и это как правило таблица регулярного хэш (т.е. вы можете использовать функции регулярного хэша на .value.ht). Фактическая регистрация функции может быть выполнена с использованием :
    add_method( 
    return_value, function_name, function_ptr );