PHPのunpack関数が出力する配列のインデックスを振り直す | katyos開発室

katyos開発室

Webサービス作ったりブログ書いたりしてます。

てきとー てきとー

unpack関数の使い方については昨日書いたのですが、一つ注意点があります。


それは、フォーマットを unpack("C*",$data) の様にした場合、出力される配列のインデックスが1から振られてしまうという点です。


自分の場合、配列のインデックスは0から始まるものとしてプログラムを書く事が多いので、この仕様はちょっと気持ちが悪いです。


そこで、unpack()関数で出力される配列のインデックスを振り直すことにします。


やり方は簡単。
unpack関数の結果をarray_merge関数に渡すだけです。
※数字インデックスのみが振り直されますので、インデックス文字を指定した部分は変化しません。



$arr = array_merge( unpack("C*",$data) );


array_merge関数|PHPマニュアル

配列が一つだけ指定され、その配列が数字で添字指定されていた場合、 キーの添字が連続となるように振り直されます。



これでインデックスが0から始まる配列にすることができました。


スッキリ。(^-^)