PHP将数组传递给pack()函数

Pao*_*olo 4 php arrays pack

pack()语法是(来自http://php.net/manual/en/function.pack.php)

string pack ( string $format [, mixed $args [, mixed $... ]] )

假设我需要打包三个字节

$packed = pack( "c*", 65, 66, 67 );

但是,如果我必须打包任意数量的字节怎么办?

它们可以方便地存储到一个数组中,所以我天真地尝试过

$a = array( 65, 66, 67 );
$packed = pack( "c*", $a );
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有没有办法pack()使用数组?

Ale*_*sky 13

派对的时间不多,但为了将来参考,你可以使用new ...运算符(v5.6 +)来内联爆炸数组:

$packed = pack("c*", ...$a);
Run Code Online (Sandbox Code Playgroud)