Не понимаю ситаксис функции pack

mkone112

Новичок
Учу php ~7 дней, до этого опыта программирования не было(basic в школе не в счет).В учебнике в процессе изучения наткнулся на функции pack/unpack. Я вроде понимаю назначение а вот синтаксис сломал мой хрупкий мозг.
Описание синтаксиса:
string pack ( string $format [, mixed $args [, mixed $... ]] )
Пример:
$bin = pack("nvn*",0x5722,0x1148, 65, 66); // запаковываем, согласно формату
Как это понимаю я на данном примере:
Переменной $bin присваивается значение выражения справа, pack- сама функция "nvn*" это данные(в данном примере строка) которые будут подвергнуты упаковке в бинарную строку.
А вот что дальше я не понимаю. Что такое 0x5722,0x1148... или $format [, mixed $args [, mixed $... ]].

P.s. Не ругайтесь я 1,5 часа гуглил, но разжеванного объяснения не нашел:(
Help!
 

mkone112

Новичок
Спасибо!!! Я кажется шизофрению подхватил пока голову ломал, а все так просто оказалось:)
 

A1x

Новичок
начинать изучение пхп с функции pack это жесть имхо
 

AnrDaemon

Продвинутый новичок
Жесть - жестью, а наличие этой функции (и знание об этом наличии!) очень сильно помогло мне однажды.
mkone112, если тебе знаком термин "сериализация", то у pack назначение то же самое. Перевод условно-любых данных в единообразную форму. В данном случае имеется в виду бинарная строка, конечно же.
Заранее предупрежу, sSiIlLfd - бесполезные модификаторы. Ты никогда не можешь быть уверен, что упаковынные ими данными будут корректно распакованы, если только это не делается в этом же сеансе тремя строчками ниже. И то...
Конкретно убивает отсутствие нормальных вариантов f и d :(
 

freeek

Новичок
возможно вопрос в том, что ТС не совсем понимает формат описания синтаксиса в принципе? например, что есть обязательные данные, что нет, какие типы данных допустимы и что возвращает функция, нее?..)
 
Сверху