У меня есть следующий код:
$bin = "\x04\x00\xa0\x00\x04\x00\xa0\x00";
$unpack_data = unpack("C*", $bin);
$arr = array($unpack_data[1], $unpack_data[2], $unpack_data[3]);
Как я могу передать массив $ arr упаковка () функционировать? Единственное, что я могу сделать:
$res = pack("C*", $unpack_data[1], $unpack_data[2], $unpack_data[3]);
но длина и содержимое массива получают в ходе программы.
Как это:
call_user_func_array('pack', array_merge(['C*'], $unpack_data))
Новый синтаксис php 5.6 разрешить это
pack('C*', ...$unpack_data);
$res = pack('C*',$arr)
//hope this might help you