Передача массива в качестве аргумента НЕ пользовательской функции, в переполнении стека

У меня есть следующий код:

$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]);

но длина и содержимое массива получают в ходе программы.

1

Решение

Как это:

call_user_func_array('pack', array_merge(['C*'], $unpack_data))
3

Другие решения

Новый синтаксис php 5.6 разрешить это

pack('C*', ...$unpack_data);
2

$res = pack('C*',$arr)

//hope this might help you
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector