PHPで配列でpackを行う方法 引数のアンパッキング


スポンサーリンク

PHPでは配列を受け取らず、中身を展開した状態しか受け取らない関数が存在します。pack関数はバイナリを弄るときに使用する関数ですが、例えば1バイトの値が1024個入った配列をバイナリにしたいとき、

pack("C*", $array);

と書いても正しく動作しません。
正しくは

pack("C*", ...$array);

このように書き、引数の配列をアンパッキングします。
この書き方を行うと、
$array=[0,1,2,3,続く];
のとき
pack("C*", 0, 1, 2, 3, 続く);
を実行したときと同じ挙動となります。

このように配列を展開したいという場合は意外と多いので、ぜひ覚えておきましょう。

ご覧いただきありがとうございました。

last

フォローする