スポンサーリンク
PHPでは配列を受け取らず、中身を展開した状態しか受け取らない関数が存在します。pack関数はバイナリを弄るときに使用する関数ですが、例えば1バイトの値が1024個入った配列をバイナリにしたいとき、
pack("C*", $array);
と書いても正しく動作しません。
正しくは
pack("C*", ...$array);
このように書き、引数の配列をアンパッキングします。
この書き方を行うと、
$array=[0,1,2,3,続く];
のとき
pack("C*", 0, 1, 2, 3, 続く);
を実行したときと同じ挙動となります。
このように配列を展開したいという場合は意外と多いので、ぜひ覚えておきましょう。
ご覧いただきありがとうございました。