The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"PHP: передать в pack() массив"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"PHP: передать в pack() массив"  
Сообщение от mirya email on 11-Апр-06, 17:26 
в перле есть замечательная ф-ция pack(), к-рая получает список и пакует его в бинарную строку. Благодаря структуре вызовов перла можно сделать что-то в стиле pack($fmt, @data), массив будет развернут в список аргументов.
нужно то же самое сделать в пхп: т.е.
$array = array(1234, 456, 6788, ...); // undefined-length array
$bindata = pack('l*', $array);

проблема в том, что пхп массив не "развернет", а преобразует в единый int и в рез. получу строку длинны 1.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "PHP: передать в pack() массив"  
Сообщение от Niam on 11-Апр-06, 21:14 
>в перле есть замечательная ф-ция pack(), к-рая получает список и пакует его
>в бинарную строку. Благодаря структуре вызовов перла можно сделать что-то в
>стиле pack($fmt, @data), массив будет развернут в список аргументов.
>нужно то же самое сделать в пхп: т.е.
>$array = array(1234, 456, 6788, ...); // undefined-length array
>$bindata = pack('l*', $array);
>
>проблема в том, что пхп массив не "развернет", а преобразует в единый
>int и в рез. получу строку длинны 1.


Попробуй serialize/unserialize

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "PHP: передать в pack() массив"  
Сообщение от mirya email on 11-Апр-06, 21:28 
>Попробуй serialize/unserialize
Ну так можно и implode. Тут желательно иметь случайный доступ к эл-ту без ансериализации + serialize дает неэффективное хранение для однородных данных. А проблему уже решил рефлекшном:

$array = (0x10, 0x20, 0x5678, 0x564);
array_unshift($array, 'l*');
echo call_user_func_array('pack', $array);

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру